Now when we have a constructor that is this generic, perhaps we should remove the specialised constructors - the type safety they provided is circumvented by having this constructor anyhow, so they add vey little value.