// @target: es2015
// @strict: false
// number unless otherwise specified
var n1 = n1++;
var n2: number = n2 + n2;
var n3 /* any */ = n3 + n3;

// string unless otherwise specified
var s1 = s1 + '';
var s2 /* any */ = s2 + s2;
var s3 : string = s3 + s3;
var s4 = '' + s4;

// boolean unless otherwise specified
var b1 = !b1;
var b2 = !!b2;
var b3 = !b3 || b3; // expected boolean here. actually 'any'
var b4 = (!b4) && b4; // expected boolean here. actually 'any'

// (x:string) => any
var f = (x: string) => f(x);