RecordからRecordへの型レベルfilter
recordから、条件を満たしたsub recordを作る
fieldを見てfilterする
never型のfieldは消えるので、工夫してmapすればfilterを実現できる
e.g.
PickByType<R, T>
RemoveIndexSignature<R>