Now includes special casting to/from doubles and halfs.