naiveAdd name =
    let adds (Num a) (Num b) = Num $ a + b
        adds _       _       = numError

    in  functionFactory name numId (reduceFn adds (Num 0))
naiveAdd name =
    let adds (Num a) (Num b) = Num $ a + b
        adds _       _       = numError

    in  functionFactory name numId (reduceFn adds (Num 0))
naiveAdd name =
    let adds (Num a) (Num b) = Num $ a + b
        adds _       _       = numError

    in  functionFactory name numId (reduceFn adds (Num 0))