interface Naperian : (Type -> Type) -> TypeLog : Naperian f => Typelookup : {auto __con : Naperian f} -> f a -> Log -> atabulate : {auto __con : Naperian f} -> (Log -> a) -> f apositions : {auto {conArg:4925} : Naperian f} -> f Logtranspose : Naperian f => Naperian g => f (g a) -> g (f a)