Issue 1:
I'm submitting a ... (check one with "x")

[x] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request => Please do not submit support request here, instead see https://github.com/angular/angular/blob/master/CONTRIBUTING.md#question

Current behavior

Before 2.1.1, building our code with ngc would compile it with no errors (but not actually AoT the Angular templates because we use the upgrade adapter). Now that upgrade adapter AoT support has been added with 2.1.1, I get the following error:

Error: Error encountered resolving symbol values statically. Function calls are not supported. Consider replacing the function or lambda with a reference to an exported function, resolving symbol AppModule in /home/gibson/.build/shared/js/cyph.im/appmodule.ts, resolving symbol AppModule in /home/gibson/.build/shared/js/cyph.im/appmodule.ts
at simplifyInContext (/usr/lib/node_modules/@angular/compiler-cli/src/static_reflector.js:472:23)
at StaticReflector.simplify (/usr/lib/node_modules/@angular/compiler-cli/src/static_reflector.js:475:22)
at StaticReflector.annotations (/usr/lib/node_modules/@angular/compiler-cli/src/static_reflector.js:61:36)
at _loop_1 (/usr/lib/node_modules/@angular/compiler-cli/src/codegen.js:66:54)
at CodeGeneratorModuleCollector.readFileMetadata (/usr/lib/node_modules/@angular/compiler-cli/src/codegen.js:79:13)
at /usr/lib/node_modules/@angular/compiler-cli/src/codegen.js:41:74
at Array.map (native)
at CodeGeneratorModuleCollector.getModuleSymbols (/usr/lib/node_modules/@angular/compiler-cli/src/codegen.js:41:35)
at CodeGenerator.codegen (/usr/lib/node_modules/@angular/compiler-cli/src/codegen.js:120:39)
at codegen (/usr/lib/node_modules/@angular/compiler-cli/src/main.js:7:81)

Expected behavior

Code builds successfully.

Minimal reproduction of the problem with instructions

Running ngc on our project that includes the following main module:

import {AppComponent} from './appcomponent';
import {CommonModule} from '@angular/common';
import {NgModule, forwardRef} from '@angular/core';
import {BrowserModule} from '@angular/platform-browser';
import {UpgradeAdapter as NgUpgradeAdapter} from '@angular/upgrade';
...

export const UpgradeAdapter = new NgUpgradeAdapter(
forwardRef(() => AppModule)
);

@NgModule({
imports: [
BrowserModule,
CommonModule
],
declarations: [
AppComponent,
UpgradeAdapter.upgradeNg1Component(
...
),
...
]
})
export class AppModule {}

What is the motivation / use case for changing the behavior?

Being able to use Angular 2 at all. (We can't use JIT'd ng2 in prod due to our CSP.)

Please tell us about your environment: Debian Jessie inside Docker on OS X El Capitan

Angular version: 2.1.1

Browser: N/A

Language: TypeScript 2.0.3

Node (for AoT issues): 6.7.0

Issue 2:
I have been struggling with issues using the paper-data-table written in polymer

(more information about the issue and my questetion is here: [http://stackoverflow.com/questions/36864501/using-paper-datatable-in-angular2](The issue)

One of the suggested solution is to surround the table with:

which is a polymer binding helper element. The problem is that angular removes all the template tags from the dom which dont use an angular directive (inside my component html).

I didn't find a way to coop with this, maybe there should be some way of telling angular to not process the some template tags (but still process their children because I do need to use data biniding inside the template tag in order to pass data for the table element)