NewImage init code now works with unbounded types