@Override
        public Void visitArrayType(ArrayType source, Type target) throws AdaptFailure {
            if (target.tag == ARRAY)
                adaptRecursive(elemtype(source), elemtype(target));
            return null;
        }