returning the created shape
segments must allow negative height or width