Examples where `curryhoward`'s present heuristics do not generate the expected code: ```scala type P[T] = (Option[T], Option[T]) def fmap[A, B](f: A => B): P[A] => P[B] = implement def flatten[A]: P[Option[A]] => P[A] = implement ```