         switch map.context.dir {
         case .toJSON:
             let json = map.context.json
-            try map.context.json = mapToJson(json, fromField: field, viaKey: map.key, mapping: map.key.mapping)
+            try map.context.json = Crust.map(to: json, fromField: field, viaKey: map.key, mapping: map.key.mapping)
             
         case .fromJSON:
             let fieldCopy = field

    return mapFromJson(toCollection: &field, map: map)
}

private func mapToJson<T, U: Mapping, V: Sequence>(
    _ json: JSONValue,
    fromField field: V,
    viaKey key: Keypath,
    mapping: U)


// MARK: - To JSON

private func map<T: JSONable>(to json: JSONValue, fromField field: T?, viaKey key: JSONKeypath) -> JSONValue where T == T.ConversionType {
    var json = json
    
    if let field = field {
