A sufficiently detailed spec is code
haskellforall.com