Give your JavaScript what it's always wanted, types