let opt(x) = _ | x; let ws = [star](opt(" " . star)); match [rec]("a" . opt("." . ws . rec));