Split from-typed

Track whether we are protecting values from the typed side and/or the untyped side.