anchor.diff:          }
         }
   
  +      // Constructor call.
         if (target is hir.IdentifierExpression &&
             target.identifier is hir.ReflectionIdentifier) {
  -        // This is a constructor call.
  -
  -        // ignore: non_constant_identifier_names
  -        final class_ = getClassDeclarationHir(
  -            queryContext, (target.identifier as hir.ReflectionIdentifier).id);
  -        final fields = class_.innerDeclarationIds
  -            .where((id) => id.isProperty)
  -            .map((id) => getPropertyDeclarationHir(queryContext, id))
  -            .toList();
  -
  -        if (expression.arguments.length < fields.length) {
  -          throw CompilerError.missingArguments(
  -            'You passed too few arguments to the constructor call.',
  -          );
  -        } else if (expression.arguments.length > fields.length) {
  -          throw CompilerError.tooManyArguments(
  -            'You passed too many arguments to the constructor call.',
  -          );
  -        }
  -
  -        final argumentValues = [
  -          for (var i = 0; i < fields.length; i++)
  -            innerExpressionContext(
  -              expressionType: Option.some(fields[i].type),
  -            ).lowerUnambiguous(expression.arguments[i].expression)
  -        ].merge();
  -        if (argumentValues is Error) return argumentValues;
  -        final arguments = argumentValues.value;
  -
  -        return Ok<List<Expression>, List<ReportedCompilerError>>([
  -          FunctionCallExpression(
  -            getId(expression),
  -            target,
  -            <String, Expression>{
  -              for (var i = 0; i < fields.length; i++)
  -                fields[i].name: arguments[i],
  -            },
  -          )
  -        ]);
  +        final identifier = target.identifier as hir.ReflectionIdentifier;
  +        // TODO: Ensure this is a constructor call.
  +        // if (identifier.id.isConstructor) {
  +        return lowerConstructorCall(expression, target);
  +        // }
         }
   
         throw CompilerError.unsupportedFeature(
  -        'Callable expressions are not yet supported.',
  +        'Callable expressions are not yet supported (target $target).',
           location: ErrorLocation(resourceId, expression.span),
         );
       });
  
positive.code:       hir.Expression.functionCall(
          getId(expression),
          target,
          hirArgumentMap,
        ),
      ]);
    }
  
negative.code: import 'dart:io';
  
  import 'package:dartx/dartx.dart';
  import 'package:parser/parser.dart' as ast;
  import 'package:parser/parser.dart' show SourceSpan;
  