Returns a shallow copy of the receiver.
Override this method in all subclasses, return its own type.
@override MapParser<R, S> copy() => MapParser<R, S>(delegate, callback, hasSideEffects: hasSideEffects);