0.5 >>= withMultipliable
      _ -> Nothing
  }

ruleDozen :: Rule
ruleDozen = Rule
  { name = "a dozen of"
  , pattern =
    [ regex "打"
    ]
  , prod = \_ -> integer 12 >>= withMultipliable >>= 
ruleHalf :: Rule
ruleHalf = Rule
  { name = "half"
  , pattern =
    [ regex "(1|一)?半(半|个|個)?"
    ]
  , prod = \case
      (_:_) -> double 0.5 >>= withMultipliable
      _ -> Nothing
  }
ruleHalf = Rule
  { name = "half"
  , pattern =
    [ regex "(1|一)?半(半|个|個)?"
    ]
  , prod = \case
      (_:_) -> double 0.5 >>= withMultipliable
      _ -> Nothing
  }