-- | Recursive definitions of natural number multiplication
multiplyP1 :: Semigroup m => P -> m -> m
multiplyP1 SZ    x = x
multiplyP1 :: Semigroup m => P -> m -> m
multiplyP1 SZ    x = x
multiplyP1 SZ    x = x