let inj = let int = Some(Int) and real = Some(Real) and nonint = Some(Nonint) in function | Int -> int | Real -> real | Nonint -> nonint