Deadlock-Free Session Types in Linear Haskell