postulate D:: Type postulate E:: Type postulate e:: E postulate d:: D g :: D -> E = (\(x::D) -> e) e' :: E = g {!!}