JS conversion covers all generic cases. Closes #35