///|
pub fn parse_string(
  source : String,
  name? : String = "",
) -> (@syntax.Impls, Array[@basic.Report]) {
  let { tokens, .. } = @lexer.tokens_from_string(source, comment=true, name~)
  let (impls, diagnostics) = @handrolled_parser.parse(tokens)
  (impls, diagnostics)
}