Cast current into type D. Throws if the cast fails. Useful when confident about current's type.
D
D as<D extends Destination>() => current as D;