\import Homotopy.Pointed
\import Homotopy.Pushout
\func Susp (A : \Type) => PushoutData {A} (\lam _ => ()) (\lam _ => ())
\where {
\func rec {A B : \Type} (b1 b2 : B) (f : A -> b1 = b2) (x : Susp A) : B \elim x
| north => b1
| south => b2
| pglue a => f a
\func pointed (A : \Type) => \new Pointed (Susp A) north
\func pushout (A : \Type) => pushoutData {A} (\lam _ => ()) (\lam _ => ())
}
\cons north {A : \Type} : Susp A => pinl ()
\cons south {A : \Type} : Susp A => pinr ()
\func pmerid {A : \Type} (a : A) : north = south => path (pglue a)