title: Is there a possibility of multiple statements inside a conditional statement's body?
body: <p>I'm primarily a C++ (thus an OO/imperative) programmer and I find it quite bizarre that you can only have one statement per evaluation in a conditional statement such as an if-statement in Scheme, a functional language.</p>
  
  <p>For example:</p>
  
  <pre><code> (let ((arg1 0) (arg2 1))
     (if (&gt; arg1 arg2)
         arg1
         arg2)))
  </code></pre>
  
  <p>Erroneous example: </p>
  
  <pre><code>(let ((arg1 0) (arg2 1))
    (if (&gt; arg1 arg2)
        (arg1 (display "cool"))
        (arg2 (display "not cool"))))
  </code></pre>
  
  <p>gives me an error of a type "procedure application: expected procedure, given: 2; arguments were: #void"</p>
  
  <p>That can be solved by placing that said conditional statement into different statements within a body of a defined function for example, with the conditional statement's body having separate statements every time as follows:</p>
  
  <pre><code>(if (condition) statement1a statement2a)
  (if (condition) statement1b statement2b)
  </code></pre>
  
  <p>and so on...</p>
  
  <p>It goes without saying that it's not too practical. Not to mention the duplicated code overhead.</p>
  
  <p>Am I missing anything here or is there really no other way?</p>