You don't have to implement it in terms of the Bijection library (which is quite small) but I would prefer if the Scheme outputs common.Span instead of gen.Span.