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