my class X::DateTime::CannotParse is Exception { has $.invalid-str; method message() { "Unable to parse {$!invalid-str}" } } class DateTime::Parse is DateTime { grammar DateTime::Parse::Grammar { token TOP { | | | | | | } token rfc3339-date { <[Tt \x0020]> } token nginx-date { ':' } token time2 { } token time3 { ' ' } token partial-time { ':' ':' ? } token time-secfrac { '.' \d+ } token time-offset { [ 'Z' | 'z' | ] } token time-numoffset { ':'? } token time-houroffset { } token hour { \d \d? } token gmt-or-numeric-tz { 'GMT' | 'UTC' | [ <[-+]>? <[0..9]> ** 4 ] } token rfc1123-date { <.wkday> ',' <.SP> <.SP>