withItemEnclosure: updated to expect optional length