title: Does Haskell support object oriented programming
body: <p>Does it support concepts like separation of declaration and implementation (interfaces and classes in Java)?</p>
  
  <p>How about restricting access (like access modifiers in Java)?</p>