fuck imperative programming, seriously