functional programming, destructive functions