diff --git a/.travis/spago--build-and-test.sh b/.travis/spago--build-and-test.sh
index e7715929a..cf99b82bc 100644
--- a/.travis/spago--build-and-test.sh
+++ b/.travis/spago--build-and-test.sh
@@ -112,7 +112,7 @@ cd ../../
cd 22-Projects/
pwd
# Build but do not run benchmark tests
-spago build -p "benchmark/**/*.purs"
+spago build
PROJECTS_BUILT_OK=$?
# Node-based tests
diff --git a/21-Hello-World/03-Effect-and-Aff/src/03-Aff/03-Node-ReadLine/02-ReadLine-Effect.purs b/21-Hello-World/03-Effect-and-Aff/src/03-Aff/03-Node-ReadLine/02-ReadLine-Effect.purs
index 3b36bdac4..8ce8f7914 100644
--- a/21-Hello-World/03-Effect-and-Aff/src/03-Aff/03-Node-ReadLine/02-ReadLine-Effect.purs
+++ b/21-Hello-World/03-Effect-and-Aff/src/03-Aff/03-Node-ReadLine/02-ReadLine-Effect.purs
@@ -5,10 +5,11 @@ import Effect (Effect)
import Effect.Console (log)
{-
-This file will demonstrate why we can't use `Effect` to
-work with `Node.ReadLine`.
+This file will demonstrate why using `Effect` to work with `Node.ReadLine`
+creates the Pyramid of Doom.
-Look through the code and then run it to see what happens.
+Look through the code and then use the command in the folder's
+ReadMe.md file to run it using Node (not Spago) to see what happens.
-}
-- new imports
@@ -23,64 +24,28 @@ main :: Effect Unit
main = do
log "\n\n" -- separate output from program output
- interface <- createInterface
- useInterface interface
- closeInterface interface
-
- where
-
- createInterface :: Effect Interface
- createInterface = do
- log "Creating interface..."
- interface <- createConsoleInterface noCompletion
- log "Created!\n"
-
- pure interface
-
- useInterface :: Interface -> Effect Unit
- useInterface interface = do
- log "Requesting user input..."
- interface # question "Type something here: "
- \answer -> log $ "You typed: '" <> answer <> "'\n"
-
- closeInterface :: Interface -> Effect Unit
- closeInterface interface = do
- log "Now closing interface"
- close interface
- log "Finished!"
-
-{-
-One might expect the last part of this program to output the following:
-
- ... create interface output ...
-
- Requesting user input...
- Type something here: [user types 'something']
- You typed: 'something'
-
- Now closing interface
- Finished!
- [Program exit]
-
-In reality, it outputs this:
-
- ... create interface output ...
-
- Requesting user input...
- Type something here: Now closing interface
- Finished!
- [Program exit]
-
-The user never has a chance to type anything. Why?
-Because `question` adds a listener to the input stream
-that will run an action when the user has inputted some
-text and pressed Enter, and then continues evaluating
-the next statement. The next expression closes the interface,
-prevnting the user from ever inputting anything.
-
-In other words, it doesn't wait for the user to type in anything
-before continuing its evaluation.
-
-Now it's time to see how we would write the same thing above
-using Aff.
--}
+ log "Creating interface..."
+ interface <- createConsoleInterface noCompletion
+ log "Created!\n"
+
+ log "Requesting user input..."
+ interface # question "Type something here (1): " \answer1 -> do
+ log $ "You typed: '" <> answer1 <> "'\n"
+ interface # question "Type something here (2): " \answer2 -> do
+ log $ "You typed: '" <> answer2 <> "'\n"
+ interface # question "Type something here (3): " \answer3 -> do
+ log $ "You typed: '" <> answer3 <> "'\n"
+ interface # question "Type something here (4): " \answer4 -> do
+ log $ "You typed: '" <> answer4 <> "'\n"
+ interface # question "Type something here (5): " \answer5 -> do
+ log $ "You typed: '" <> answer5 <> "'\n"
+
+ log "Now closing interface"
+ close interface
+ log "Finished!"
+
+ log "This will print as we wait for your 5th answer."
+ log "This will print as we wait for your 4th answer."
+ log "This will print as we wait for your 3rd answer."
+ log "This will print as we wait for your 2nd answer."
+ log "This will print as we wait for your 1st answer."
diff --git a/21-Hello-World/03-Effect-and-Aff/src/03-Aff/03-Node-ReadLine/03-Converting-Effects-with-Callbacks-into-Aff.md b/21-Hello-World/03-Effect-and-Aff/src/03-Aff/03-Node-ReadLine/03-Converting-Effects-with-Callbacks-into-Aff.md
index 43a84f65d..099e004d8 100644
--- a/21-Hello-World/03-Effect-and-Aff/src/03-Aff/03-Node-ReadLine/03-Converting-Effects-with-Callbacks-into-Aff.md
+++ b/21-Hello-World/03-Effect-and-Aff/src/03-Aff/03-Node-ReadLine/03-Converting-Effects-with-Callbacks-into-Aff.md
@@ -23,7 +23,10 @@ Since our present interests do not require cancellation, we can use a no-op `Can
For our purposes, we need an `Aff` to run inside of an `Effect` monadic context. If one looks through `Aff`'s docs, the only one that does this besides `launchAff` and its variants is `runAff_`:
```purescript
-runAff_ :: forall a. (Either Error a -> Effect Unit) -> Aff a -> Effect Unit
+runAff_ :: forall a.
+ (Either Error a -> Effect Unit) -> -- arg 1
+ Aff a -> -- arg 2
+ Effect Unit -- outputted value
```
Breaking this down, `runAff_` takes two arguments (explained in reverse):
- an `Aff` computation to run
diff --git a/21-Hello-World/03-Effect-and-Aff/src/03-Aff/03-Node-ReadLine/04-ReadLine-Aff.purs b/21-Hello-World/03-Effect-and-Aff/src/03-Aff/03-Node-ReadLine/04-ReadLine-Aff.purs
index 6341a2507..ee1c31a14 100644
--- a/21-Hello-World/03-Effect-and-Aff/src/03-Aff/03-Node-ReadLine/04-ReadLine-Aff.purs
+++ b/21-Hello-World/03-Effect-and-Aff/src/03-Aff/03-Node-ReadLine/04-ReadLine-Aff.purs
@@ -10,29 +10,6 @@ import Effect.Console (log)
import Node.ReadLine (Interface, createConsoleInterface, noCompletion, close)
import Node.ReadLine as ReadLine
-createInterface :: Effect Interface
-createInterface = do
- log "Creating interface..."
- interface <- createConsoleInterface noCompletion -- no tab completion
- log "Created!\n"
-
- pure interface
-
-closeInterface :: Interface -> Effect Unit
-closeInterface interface = do
- log "Now closing interface"
- close interface
- log "Finished!"
-
-useInterface :: Interface -> Aff Unit
-useInterface interface = do
- -- lifting `log`'s output into an Aff monad context
- liftEffect $ log $ "Requesting user input..."
-
- -- querying user for info and waiting until receive user input
- answer <- interface # question "Type something here: "
- liftEffect $ log $ "You typed: '" <> answer <> "'\n"
-
-- This is `affQuestion` from the previous file
question :: String -> Interface -> Aff String
question message interface = makeAff go
@@ -41,14 +18,42 @@ question message interface = makeAff go
go runAffFunction = nonCanceler <$
ReadLine.question message (runAffFunction <<< Right) interface
-
main :: Effect Unit
main = do
log "\n\n" -- separate output from program
- interface <- createInterface {-
+ log "Creating interface..."
+ interface <- createConsoleInterface noCompletion
+ log "Created!\n"
+ {-
runAff_ :: forall a. (Either Error a -> Effect Unit) -> Aff a -> Effect Unit -}
runAff_
-- Ignore any errors and output and just close the interface
(\_ -> closeInterface interface)
(useInterface interface)
+ where
+ closeInterface :: Interface -> Effect Unit
+ closeInterface interface = do
+ log "Now closing interface"
+ close interface
+ log "Finished!"
+
+ -- Same code as before, but without the Pyramid of Doom!
+ useInterface :: Interface -> Aff Unit
+ useInterface interface = do
+ liftEffect $ log "Requesting user input..."
+
+ answer1 <- interface # question "Type something here (1): "
+ liftEffect $ log $ "You typed: '" <> answer1 <> "'\n"
+
+ answer2 <- interface # question "Type something here (2): "
+ liftEffect $ log $ "You typed: '" <> answer2 <> "'\n"
+
+ answer3 <- interface # question "Type something here (3): "
+ liftEffect $ log $ "You typed: '" <> answer3 <> "'\n"
+
+ answer4 <- interface # question "Type something here (4): "
+ liftEffect $ log $ "You typed: '" <> answer4 <> "'\n"
+
+ answer5 <- interface # question "Type something here (5): "
+ liftEffect $ log $ "You typed: '" <> answer5 <> "'\n"
diff --git a/21-Hello-World/03-Effect-and-Aff/src/03-Aff/04-Useful-Aff-Libraries.md b/21-Hello-World/03-Effect-and-Aff/src/03-Aff/04-Useful-Aff-Libraries.md
index 557d3b435..e5d289dcf 100644
--- a/21-Hello-World/03-Effect-and-Aff/src/03-Aff/04-Useful-Aff-Libraries.md
+++ b/21-Hello-World/03-Effect-and-Aff/src/03-Aff/04-Useful-Aff-Libraries.md
@@ -6,6 +6,7 @@ These were found using a [purescript-aff-](https://pursuit.purescript.org/search
- [`purescript-aff-bus`](https://pursuit.purescript.org/packages/purescript-aff-bus/4.0.0)
- [`purescript-aff-retry`](https://pursuit.purescript.org/packages/purescript-aff-retry/1.2.1)
- [`purescript-aff-promise`](https://pursuit.purescript.org/packages/purescript-aff-promise/2.0.1)
+ - This library makes JavaScript Promises properly work/communicate together with PureScript Aff computations and vice versa.
- [`purescript-aff-parallel`](https://pursuit.purescript.org/packages/purescript-aff-parallel/0.1.1)
- [`purescript-aff-reattempt`](https://pursuit.purescript.org/packages/purescript-aff-reattempt/5.0.0)
- [`purescript-aff-throttler`](https://pursuit.purescript.org/packages/purescript-aff-throttler/0.0.2)
diff --git a/21-Hello-World/05-Application-Structure/src/02-MTL/14-Throw-and-Error/01-Overview.md b/21-Hello-World/05-Application-Structure/src/02-MTL/14-Throw-and-Error/01-Overview.md
index ec0dceb87..20fbcd833 100644
--- a/21-Hello-World/05-Application-Structure/src/02-MTL/14-Throw-and-Error/01-Overview.md
+++ b/21-Hello-World/05-Application-Structure/src/02-MTL/14-Throw-and-Error/01-Overview.md
@@ -2,7 +2,7 @@
## MonadThrow
-`MonadThrow` is used to immediately stop `bind`'s sequential computation and return a value of its error type because of some unforeseeable error (e.g. business logic error).
+`MonadThrow` is used to immediately stop `bind`'s sequential computation and return a value of its error type because of some unforeseeable error (e.g. error encountered when connecting to a database, file that was supposed to exist did not exist, etc).
It's default implmentation is `ExceptT`:
```purescript
@@ -16,6 +16,43 @@ class (Monad m) => MonadThrow e (ExceptT e m) where
throwError a = ExceptT (pure $ Left a)
```
+### ExceptT: Before and After
+
+Before using `ExceptT`, we would write this ugly verbose code:
+```purescript
+getName :: Effect (Either Error String)
+getAge :: Effect (Either Error Int)
+
+main :: Effect Unit
+main = do
+ eitherName <- getName
+ case eitherName of
+ Left error -> log $ "Error: " <> show error
+ Right name -> do
+ eitherName <- getAge
+ case maybeAge of
+ Left error -> log $ "Error: " <> show error
+ Right age -> do
+ log $ "Got name: " <> name <> " and age " <> show age
+```
+
+After using `ExceptT`, we would write this clear readable code:
+```purescript
+getName :: Effect (Either Error String)
+getAge :: Effect (Either Error Int)
+
+main :: Effect Unit
+main = do
+ eitherResult <- runExceptT $ ExceptT do
+ name <- getName
+ age <- getAge
+ pure { name, age }
+ case eitherResult of
+ Left error -> log $ "Error: " <> show error
+ Right rec -> do
+ log $ "Got name: " <> rec.name <> " and age " <> show rec.age
+```
+
## MonadError
`MonadError` extends `MonadThrow` by enabling a monad to catch the thrown error, attempt to handle it (by changing the error type to an output type), and then continue `bind`'s sequential computation. If `catchError` can't handle the error, `bind`'s sequential computation will still stop at that point and return the value of the error type.
@@ -31,6 +68,20 @@ class (Monad m) => MonadError e (ExceptT e m) where
Right a -> pure $ Right a))
```
+For example,
+```purescript
+getFileContents :: forall m.
+ MonadError m =>
+ String ->
+ m String
+getFileContents pathToFile = do
+ readFileContents pathToFile `catchError` \fileNotFound ->
+ pure defaultValue
+
+ where
+ defaultValue = "foo"
+```
+
## Derived Functions
`MonadThrow` does not have any derived functions.
@@ -50,7 +101,7 @@ value1 <- otherComputation stopped
value2 <- otherComputation value1
-- MonadError
-mightRun <- catchError computation attemptToHandleErrorFunction
+mightRun <- computationThatMayFail `catchError` computationWhenPreviousFailed
left_Error <- try computationThatFails
right_Output <- try computationThatSucceeds
diff --git a/22-Projects/spago.dhall b/22-Projects/spago.dhall
index 4f20c96c1..fca715848 100644
--- a/22-Projects/spago.dhall
+++ b/22-Projects/spago.dhall
@@ -3,7 +3,7 @@ Welcome to a Spago project!
You can edit this file as you like.
-}
{ sources =
- [ "src/**/*.purs", "test/**/*.purs" ]
+ [ "src/**/*.purs", "test/**/*.purs", "benchmark/**/*.purs" ]
, name =
"ignore"
, dependencies =
diff --git a/22-Projects/src/01-Libraries/Node.ReadLine/01-Syntax.purs b/22-Projects/src/01-Libraries/Node.ReadLine/01-Syntax.purs
new file mode 100644
index 000000000..a1ca862ae
--- /dev/null
+++ b/22-Projects/src/01-Libraries/Node.ReadLine/01-Syntax.purs
@@ -0,0 +1,31 @@
+module Node.ReadLine.Aff where
+
+import Prelude
+
+import Data.Either (Either(..))
+import Effect (Effect)
+import Effect.Aff (Aff, bracket, launchAff_, makeAff, nonCanceler)
+import Effect.Class (liftEffect)
+import Effect.Console (log)
+import Node.ReadLine (Interface, createConsoleInterface, noCompletion, close)
+import Node.ReadLine as RL
+
+question :: String -> Interface -> Aff String
+question message interface = makeAff \runAffFunction ->
+ nonCanceler <$ RL.question message (runAffFunction <<< Right) interface
+
+main :: Effect Unit
+main = do
+ log "\n\n" -- separate output from program
+
+ launchAff_ $ bracketInterface \interface -> do
+ answer <- interface # question "Type something here: "
+ liftEffect $ log $ "You typed: '" <> answer <> "'\n"
+
+ where
+ bracketInterface :: (Interface -> Aff Unit) -> Aff Unit
+ bracketInterface useInterface = do
+ bracket
+ (liftEffect $ createConsoleInterface noCompletion)
+ (liftEffect <<< close)
+ useInterface
diff --git a/22-Projects/src/01-Libraries/Node.ReadLine/ReadMe.md b/22-Projects/src/01-Libraries/Node.ReadLine/ReadMe.md
new file mode 100644
index 000000000..95bcba3f2
--- /dev/null
+++ b/22-Projects/src/01-Libraries/Node.ReadLine/ReadMe.md
@@ -0,0 +1,9 @@
+# Node ReadLine and Aff
+
+To use receive input from a user via the terminal, we need to use `Node.ReadLine`'s API. To deal with callback hell / Pyramid of Doom issues, we'll use `Aff` bindings.
+
+## Compilation Instructions
+
+```bash
+spago run -m Node.ReadLine.Aff
+```
diff --git a/22-Projects/src/01-Libraries/ReadLine-and-Aff/01-Readline-API.md b/22-Projects/src/01-Libraries/ReadLine-and-Aff/01-Readline-API.md
deleted file mode 100644
index 2b7beda9d..000000000
--- a/22-Projects/src/01-Libraries/ReadLine-and-Aff/01-Readline-API.md
+++ /dev/null
@@ -1,59 +0,0 @@
-# Node ReadLine API
-
-Node's ReadLine API docs are [here](https://nodejs.org/api/readline.html). However, in this folder, we've only used the following Purescript bindings of the API (The Pursuit docs are outdated and for an earlier release, so look at the [source code](https://github.com/purescript-node/purescript-node-readline/blob/master/src/Node/ReadLine.purs) to see all of what is supported. Some of the functions below had their 'foreign import' part removed to shorten the type signature):
-```purescript
--- Copyright is at the end of this file
-foreign import data Interface :: Type
-
--- | A function which performs tab completion.
-type Completer
- = String
- -> Effect
- { completions :: Array String
- , matched :: String
- }
-
--- | A completion function which offers no completions.
-noCompletion :: Completer
-noCompletion s = -- implementation
-
--- | Create an interface with the specified completion function.
-createConsoleInterface :: Completer -> Effect Interface
-createConsoleInterface compl = -- implementation
-
--- | Writes a message to the output and adds a listener to the
--- | interface that invokes the callback function when an
--- | event occurs (i.e. user inputs some text).
-question :: String -> (String -> Effect Unit) -> Interface -> Effect Unit
-question message handleUserInput interface = -- implementation
-
--- | Closes the specified `Interface` and cleans up resources.
-close :: Interface -> Effect Unit
-close interface = -- implementation
-```
-
-
-Copyright for above code:
-
-```
-The MIT License (MIT)
-
-Copyright (c) 2014 PureScript
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-```
diff --git a/22-Projects/src/01-Libraries/ReadLine-and-Aff/02-ReadLine-Effect.purs b/22-Projects/src/01-Libraries/ReadLine-and-Aff/02-ReadLine-Effect.purs
deleted file mode 100644
index 12cbc28d3..000000000
--- a/22-Projects/src/01-Libraries/ReadLine-and-Aff/02-ReadLine-Effect.purs
+++ /dev/null
@@ -1,97 +0,0 @@
-
-module ConsoleLessons.ReadLine.Effect where
-
-import Prelude
-import Effect (Effect)
-import Effect.Console (log)
-
-{-
-This file will demonstrate why we have not been using Effect to
-teach our console-based lessons.
-
-Look through the code and then run it to see what happens.
--}
-
--- new imports
-import Node.ReadLine ( Interface
- , createConsoleInterface, noCompletion
- , question, close)
-
-
-type UseAnswer = (String -> Effect Unit)
-
--- | This function moves `question`'s last arg to the front to make it
--- | easier to read. Otherwise, `interface` appears awkwardly at the end:
--- | `question message (\answer ->
--- | -- do something with answer
--- | ) interface`
-question' :: Interface -> String -> UseAnswer -> Effect Unit
-question' iface message useAnswer = question message useAnswer iface
-
-main :: Effect Unit
-main = do
- log "\n\n" -- separate output from program output
-
- interface <- createInterface
- useInterface interface
- closeInterface interface
-
- where
-
- createInterface :: Effect Interface
- createInterface = do
- log "Creating interface..."
- interface <- createConsoleInterface noCompletion
- log "Created!\n"
-
- pure interface
-
- useInterface :: Interface -> Effect Unit
- useInterface interface = do
- log "Requesting user input..."
- question' interface "Type something here: "
- (\answer -> log $ "You typed: '" <> answer <> "'\n")
-
- closeInterface :: Interface -> Effect Unit
- closeInterface interface = do
- log "Now closing interface"
- close interface
- log "Finished!"
-
-{-
-One might expect the last part of this program to output the following:
-
- ... create interface output ...
-
- Requesting user input...
- Type something here: [user types 'something']
- You typed: 'something'
-
- Now closing interface
- Finished!
- [Program exit]
-
-In reality, it outputs this:
-
- ... create interface output ...
-
- Requesting user input...
- Type something here: Now closing interface
- Finished!
- [Program exit]
-
-The user never has a chance to type anything. Why?
-Because `question'`, and its underlying `question` function,
-adds a listener to the input stream that will run an action
-when the user has inputted some text and pressed Enter,
-and then continues evaluating the next statement.
-The next expression closes the interface,
-prevnting the user from ever inputting anything.
-
-In other words, it doesn't wait for the user to type in anything
-before continuing its evaluation.
-
-We got around this problem using the asychronous effect monad, Aff.
-Now it's time to see how we would write the same thing above
-using Aff.
--}
diff --git a/22-Projects/src/01-Libraries/ReadLine-and-Aff/03-MonadEffect.md b/22-Projects/src/01-Libraries/ReadLine-and-Aff/03-MonadEffect.md
deleted file mode 100644
index 0d8fafffb..000000000
--- a/22-Projects/src/01-Libraries/ReadLine-and-Aff/03-MonadEffect.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# MonadEffect
-
-The return types of `Node.ReadLine` are `Effect a`, so how have we been executing them using the `Aff` monad? We need to return to a concept we introduced a few files ago.
-
-Previously, we mentioned the idea of `LiftSourceIntoTargetMonad`
-```purescript
-data Box1 a = Box1 a
-data Box2 a = Box2 a
-
-class LiftSourceIntoTargetMonad sourceMonad targetMonad where
- liftSourceMonad :: sourceMonad ~> targetMonad
-
--- some implementations may much be harder than this example
-instance box2_to_box1 :: LiftSourceIntoTargetMonad Box2 Box1 where
- liftSourceMonad :: Box2 ~> Box1
- liftSourceMonad (Box2 a) = Box1 a
-```
-
-When the source monad is `Effect`, we have a type class specific to this called [MonadEffect](https://pursuit.purescript.org/packages/purescript-effect/2.0.0/docs/Effect.Class#v:liftEffect):
-
-```purescript
-class (Monad m) <= MonadEffect m where
- liftEffect :: Effect ~> m
-```
-
-`Aff` has an instance for `MonadEffect`, so we can lift `Effect` types into a `Aff` monadic context.
-
-Previously, we also said that `ST`/`STRef` did not have such an instance. Thus, we were forced to use `Debug.Trace (traceM)` to output anything to the console.
-
-The lack of such an instance made it harder for us when learning how to use it, but it's actually good that `ST`/`STRef` does not have such an intance. Why? Because it guarantees that the otherwise impure code there is kept within a specific scope.
diff --git a/22-Projects/src/01-Libraries/ReadLine-and-Aff/04-Basic-Aff-Functions.md b/22-Projects/src/01-Libraries/ReadLine-and-Aff/04-Basic-Aff-Functions.md
deleted file mode 100644
index 3d94d864e..000000000
--- a/22-Projects/src/01-Libraries/ReadLine-and-Aff/04-Basic-Aff-Functions.md
+++ /dev/null
@@ -1,125 +0,0 @@
-# Basic Aff Functions
-
-## Aff Overview
-
-Before showing what you the equivalent version of our program using `Aff`, let's first overview some of its concepts, so that it's easier to understand the upcoming code.
-
-`Aff` as an effect monad must support the following features to be truly asynchronous:
-- handles errors that may arise during its computation
-- returns some computation's output
-- can be cancelled if it's no longer needed
-
-To model both errors and output, we can use either `Maybe a` or `Either a b`. Since the error might be important for some parties, `Maybe a` can't be used. Rather, we'll use `Either Error outputType`.
-
-Handling errors and output implies a function. `Aff` uses the type signature, `Either errorType outputType -> Effect Unit`, for that.
-
-Lastly, cancelling implies what to do when the computation is no longer needed. Since our present interests do not require cancellation, we can use a no-op Canceler: `nonCanceler`
-
-## Functions We Will Use
-
-For our purposes, we need an `Aff` to run inside of an `Effect` monad context. In other words, we need some function that takes an `Aff` and returns an `Effect a`. If one looks through `Aff`'s docs, the only one that does this is `runAff_`:
-```purescript
-runAff_ :: forall a. (Either Error a -> Effect Unit) -> Aff a -> Effect Unit
-```
-Breaking this down, `runAff_` takes two arguments (explained in reverse):
-- an `Aff` value to run in the `Effect` monad context
-- a function for handling the asynchronous computation that failed with an `Error` value or a successful output value, `a`.
-
-Using it should look something like:
-```purescript
-runAff_ (\either -> case either of
- Left error -> log $ show error
- Right a -> -- do something with 'a' or run cleanup code
- )
- affValue
-```
-We could make the code somewhat easier by using `Data.Either (either)`
-```purescript
-runAff_ (either
- (\error -> log $ show error ) -- Left value
- (\a -> {- usage or cleanup -} ) -- Right value
- )
- affValue
-```
-
-Next, we need to create an `Aff` value, hence a function that returns an `Aff a`. Looking through Pursuit again, `makeAff` is the only function that does this:
-```purescript
-makeAff :: forall a. ((Either Error a -> Effect Unit) -> Effect Canceler) -> Aff a
-```
-
-Breaking this down, `makeAff` takes only one argument. However, the argument is a bit quirky since it takes a function as its argument. We should read it as...
-
-```
- Given a function
- that returns an `Effect Canceler`
- by using the function `runAff_` requires
- (i.e. `(Either Error a -> Effect Unit)`),
-output an `Aff a`
-```
-
-To create this type signature, we'll write something like this:
-```purescript
-affValue :: Aff String
-affValue = makeAff go
- where
- go :: (Either Error a -> Effect Unit) -> Effect Canceler
- go runAffFunction = -- implementation
-```
-Since the implementation will need to return an `Effect Canceler`, we can do one of two things:
-1. Lift a canceller into `Effect` via `pure`. This is pointless because then our `Aff` wouldn't do anything.
-2. Create an `Effect a` and use Functor's dervied function, `voidLeft` (`$>`), with `nonCanceler`
-
-```purescript
--- for a refresher on voidLeft
-(Box 1) voidLeft "2" == (Box 1) $> 2 == (Box 2)
-
--- alias is: "$>"
-voidLeft :: forall f a b. Functor f => f a -> b -> f b
-voidLeft box b = (\_ -> b) <$> box
-
--- or ignore the monad's inner 'a' and replace it with 'b'
-```
-
-Updating our code to use these two ideas, we now have:
-```purescript
-affValue :: Aff String
-affValue = makeAff go
- where
- go :: (Either Error a -> Effect Unit) -> Effect Canceler
- go runAff_RequiredFunction = (effectBox runAff_RequiredFunction) $> nonCanceler
-
- effectBox :: (Either Error a -> Effect Unit) -> Effect Unit
- effectBox raRF = -- implementation
-```
-We want to use `question` to print something to the console, get the user's input, and return that value.
-It's type signature is:
-```purescript
-question :: String -> (String -> Effect Unit) -> Interface -> Effect String
-question message handleUserINput interface = -- implementation
-```
-The only place we could insert `raF` is in `(String -> Effect Unit)`. Thus, we come up with this function:
-```purescript
-effectBox :: (Either Error String -> Effect Unit) -> Effect Unit
-effectBox raRF =
- question message (\userInput -> raRF (Right userInput)) interface
- -- (raRF <<< Right) -- less verbose; same thing
-```
-Putting it all together and excluding the required arguments, we get:
-```purescript
-affValue :: Aff String
-affValue = makeAff go
- where
- go :: (Either Error a -> Effect Unit) -> Effect Canceler
- go runAffFunction = (effectBox runAffFunction) $> nonCanceler
-
- effectBox :: (Either Error a -> Effect Unit) -> Effect Unit
- effectBox raRF = question message (raRF <<< Right) interface
-```
-Cleaning it up and including the arguments, we get:
-```purescript
-affQuestion :: String -> Interface -> Aff String
-affQuestion mesage interface = makeAff go
- where
- go :: (Either Error a -> Effect Unit) -> Effect Canceler
- go raRF = question message (raRF <<< Right) interface
-```
diff --git a/22-Projects/src/01-Libraries/ReadLine-and-Aff/05-ReadLine-Aff.purs b/22-Projects/src/01-Libraries/ReadLine-and-Aff/05-ReadLine-Aff.purs
deleted file mode 100644
index 58ea1b625..000000000
--- a/22-Projects/src/01-Libraries/ReadLine-and-Aff/05-ReadLine-Aff.purs
+++ /dev/null
@@ -1,65 +0,0 @@
- module ConsoleLessons.ReadLine.AffMonad where
-
-import Prelude
-import Effect (Effect)
-import Effect.Console (log)
-
-import Node.ReadLine ( Interface
- , createConsoleInterface, noCompletion
- , question, close)
-
-import Data.Either (Either(..))
-
--- new imports
--- This will lift the `Effect` monad into another monad context (i.e. Aff),
--- enabling us to use `log` from Effect in an `Aff` monad context.
-import Effect.Class (liftEffect)
-
-import Effect.Aff (Aff, runAff_, makeAff, nonCanceler)
-
-createInterface :: Effect Interface
-createInterface = do
- log "Creating interface..."
- interface <- createConsoleInterface noCompletion -- no tab completion
- log "Created!\n"
-
- pure interface
-
-closeInterface :: Interface -> Effect Unit
-closeInterface interface = do
- log "Now closing interface"
- close interface
- log "Finished!"
-
-useInterface :: Interface -> Aff Unit
-useInterface interface = do
- -- lifting `log`'s output into an Aff monad context
- liftEffect $ log $ "Requesting user input..."
-
- -- querying user for info and waiting until receive user input
- answer <- question' "Type something here: " interface
- liftEffect $ log $ "You typed: '" <> answer <> "'\n"
-
--- This is `affQuestion` from earlier
-question' :: String -> Interface -> Aff String
-question' message interface = makeAff go
- where
- -- go :: (Either Error a -> Effect Unit) -> Effect Canceler
- go raRF = question message (raRF <<< Right) interface $> nonCanceler
-
-
-main :: Effect Unit
-main = do
- log "\n\n" -- separate output from program
-
- interface <- createInterface
-
- runProgram interface
-
-runProgram :: Interface -> Effect Unit
-runProgram interface = {-
- runAff_ :: forall a. (Either Error a -> Effect Unit) -> Aff a -> Effect Unit -}
- runAff_
- -- Ignore any errors and output and just close the interface
- (\_ -> closeInterface interface)
- (useInterface interface)
diff --git a/22-Projects/src/01-Libraries/ReadLine-and-Aff/ReadMe.md b/22-Projects/src/01-Libraries/ReadLine-and-Aff/ReadMe.md
deleted file mode 100644
index 06cc7e884..000000000
--- a/22-Projects/src/01-Libraries/ReadLine-and-Aff/ReadMe.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# Node ReadLine and Aff
-
-To use receive input from a user via the terminal, we need to use `Node.ReadLine`'s API. However, using the `Effect` monad for this will not work as expected. Thus, we will be forced to use `Aff`.
-
-In this folder, we'll cover more of `Aff` in the context of `Node.ReadLine` but we will not cover both in all of their complexity. For a deeper explanation of `Aff`, see [this video](https://www.youtube.com/watch?v=dbM72ap30TE)
-
-## Compilation Instructions
-
-```bash
-spago run -m ConsoleLessons.ReadLine.Effect
-spago run -m ConsoleLessons.ReadLine.AffMonad
-```
diff --git a/for-each-folder--install-deps-and-compile.sh b/for-each-folder--install-deps-and-compile.sh
index 1155f7c77..3799d1f32 100755
--- a/for-each-folder--install-deps-and-compile.sh
+++ b/for-each-folder--install-deps-and-compile.sh
@@ -52,11 +52,18 @@ rm -rf .psc-package/ .pulp-cache/ .psc-package.json
spago build
cd ../../
+cd 11-Syntax/06-Modifying-Do-Ado-Syntax-Sugar/
+pwd
+rm -rf output/ .spago/
+rm -rf .psc-package/ .pulp-cache/ .psc-package.json
+spago build
+cd ../../
+
## Hello World
echo "... Hello World ...."
-cd 21-Hello-World/03-Hello-World-and-Effects/
+cd 21-Hello-World/03-Effect-and-Aff/
pwd
rm -rf output/ .spago/
rm -rf .psc-package/ .pulp-cache/ .psc-package.json
@@ -70,37 +77,37 @@ rm -rf .psc-package/ .pulp-cache/ .psc-package.json
spago build
cd ../../
-cd 21-Hello-World/05-Testing/
+cd 21-Hello-World/05-Application-Structure/
pwd
rm -rf output/ .spago/
rm -rf .psc-package/ .pulp-cache/ .psc-package.json
spago build
-# Test Spec folder
-spago test -m Test.Spec.Examples.SelfContained.ConsoleReporter
-# Test QuickCheck foler
-spago test -m Test.QuickCheckSyntax
cd ../../
-cd 21-Hello-World/06-Benchmarking/
+cd 21-Hello-World/06-Type-Level-Programming/
pwd
rm -rf output/ .spago/
rm -rf .psc-package/ .pulp-cache/ .psc-package.json
-
-npm install benchmark
-spago build -p "benchmark/**/*.purs"
+spago build
cd ../../
-cd 21-Hello-World/07-Type-Level-Programming/
+cd 21-Hello-World/07-Testing/
pwd
rm -rf output/ .spago/
rm -rf .psc-package/ .pulp-cache/ .psc-package.json
spago build
+# Test Spec folder
+spago test -m Test.Spec.Examples.SelfContained.ConsoleReporter
+# Test QuickCheck foler
+spago test -m Test.QuickCheckSyntax
cd ../../
-cd 21-Hello-World/08-Application-Structure/
+cd 21-Hello-World/08-Benchmarking/
pwd
rm -rf output/ .spago/
rm -rf .psc-package/ .pulp-cache/ .psc-package.json
+
+npm install benchmark
spago build
cd ../../
@@ -109,7 +116,7 @@ pwd
rm -rf output/ .spago/
rm -rf .psc-package/ .pulp-cache/ .psc-package.json
npm install benchmark
-spago build -p "benchmark/**/*.purs"
+spago build
# Node-based tests
spago test -m Test.RandomNumber.ReaderT.Standard.DifferentMonad
diff --git a/table-of-contents.md b/table-of-contents.md
index dd6ca56ba..852ad1536 100644
--- a/table-of-contents.md
+++ b/table-of-contents.md
@@ -11,1240 +11,1235 @@
## 00 Getting Started
-- [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/ReadMe.md)
-- [01 Why Learn PureScript.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/01-Why-Learn-PureScript.md)
- - [Why one should use Javascript to build programs...](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/01-Why-Learn-PureScript.md#Why-one-should-use-Javascript-to-build-programs)
- - [...but not write Javascript to build it...](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/01-Why-Learn-PureScript.md#but-not-write-Javascript-to-build-it)
- - [...and write Purescript instead of alternatives](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/01-Why-Learn-PureScript.md#and-write-Purescript-instead-of-alternatives)
- - [Language Comparisons](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/01-Why-Learn-PureScript.md#Language-Comparisons)
- - [PureScript vs TypeScript](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/01-Why-Learn-PureScript.md#PureScript-vs-TypeScript)
- - [PureScript vs Elm](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/01-Why-Learn-PureScript.md#PureScript-vs-Elm)
- - [PureScript vs GHCJS](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/01-Why-Learn-PureScript.md#PureScript-vs-GHCJS)
- - [The Strengths of PureScript](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/01-Why-Learn-PureScript.md#The-Strengths-of-PureScript)
- - [Strongly Adheres to the Functional Programming Paradigm](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/01-Why-Learn-PureScript.md#Strongly-Adheres-to-the-Functional-Programming-Paradigm)
- - [Powerful Static Type System](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/01-Why-Learn-PureScript.md#Powerful-Static-Type-System)
- - [Immutable Persistent Data Structures by Default](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/01-Why-Learn-PureScript.md#Immutable-Persistent-Data-Structures-by-Default)
- - [Multiple Backends with Easy Foreign Function Interface](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/01-Why-Learn-PureScript.md#Multiple-Backends-with-Easy-Foreign-Function-Interface)
- - [FAQ: Answering Miscellaneous Questions People May Have](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/01-Why-Learn-PureScript.md#FAQ-Answering-Miscellaneous-Questions-People-May-Have)
- - [Is the price of the steep learning curve worth the benefits of using PureScript in code?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/01-Why-Learn-PureScript.md#Is-the-price-of-the-steep-learning-curve-worth-the-benefits-of-using-PureScript-in-code)
- - [If I learn PureScript, can I get a good developer job?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/01-Why-Learn-PureScript.md#If-I-learn-PureScript-can-I-get-a-good-developer-job)
- - [Should I learn PureScript now or wait until sometime later?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/01-Why-Learn-PureScript.md#Should-I-learn-PureScript-now-or-wait-until-sometime-later)
- - [How long will it take me before I can write idiomatic code and be productive in PureScript?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/01-Why-Learn-PureScript.md#How-long-will-it-take-me-before-I-can-write-idiomatic-code-and-be-productive-in-PureScript)
- - [If I choose to learn PureScript, will I later regret not having spent that same time learning a different compile-to-Javascript language (e.g. TypeScript, CoffeeScript, etc.) or a "compile to WebAssembly"-capable language (e.g. Rust) instead?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/01-Why-Learn-PureScript.md#If-I-choose-to-learn-PureScript-will-I-later-regret-not-having-spent-that-same-time-learning-a-different-compile-to-Javascript-language-eg-TypeScript-CoffeeScript-etc-or-a-compile-to-WebAssembly-capable-language-eg-Rust-instead)
- - [How mature is the Ecosystem? Will I need to initially spend time writing/improving/documenting libraries for this language or can I immediately use libraries that are stable and mature?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/01-Why-Learn-PureScript.md#How-mature-is-the-Ecosystem-Will-I-need-to-initially-spend-time-writingimprovingdocumenting-libraries-for-this-language-or-can-I-immediately-use-libraries-that-are-stable-and-mature)
- - [How hard it is to use another language's libraries via bindings?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/01-Why-Learn-PureScript.md#How-hard-it-is-to-use-another-languages-libraries-via-bindings)
- - [How easy/pleasant is it to use the language's build tools (e.g. compiler, linter/type checker, dependency manager, etc.) and text editor tools (e.g. ease of setup, refactoring support, pop-up documentation, etc.)?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/01-Why-Learn-PureScript.md#How-easypleasant-is-it-to-use-the-languages-build-tools-eg-compiler-lintertype-checker-dependency-manager-etc-and-text-editor-tools-eg-ease-of-setup-refactoring-support-pop-up-documentation-etc)
- - [How friendly, helpful, responsive, inspiring, determined, and collaborative are the people who use and contribute to this language and its ecosystem?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/01-Why-Learn-PureScript.md#How-friendly-helpful-responsive-inspiring-determined-and-collaborative-are-the-people-who-use-and-contribute-to-this-language-and-its-ecosystem)
- - [What problems do developer teams typically encounter when migrating from Language X to PureScript and how hard are these to overcome?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/01-Why-Learn-PureScript.md#What-problems-do-developer-teams-typically-encounter-when-migrating-from-Language-X-to-PureScript-and-how-hard-are-these-to-overcome)
-- [02 Install Guide.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/02-Install-Guide.md)
- - [Getting Additional Help](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/02-Install-Guide.md#Getting-Additional-Help)
- - [Setting up Purescript for the First Time](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/02-Install-Guide.md#Setting-up-Purescript-for-the-First-Time)
- - [Overview](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/02-Install-Guide.md#Overview)
- - [Installation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/02-Install-Guide.md#Installation)
- - [Installing NPM](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/02-Install-Guide.md#Installing-NPM)
- - [Manual Install](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/02-Install-Guide.md#Manual-Install)
- - [NVM Install](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/02-Install-Guide.md#NVM-Install)
- - [Installing PureScript and Related Tooling](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/02-Install-Guide.md#Installing-PureScript-and-Related-Tooling)
- - [Versions Used in this Project](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/02-Install-Guide.md#Versions-Used-in-this-Project)
- - [Building This Project](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/02-Install-Guide.md#Building-This-Project)
- - [Setting up your editor](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/02-Install-Guide.md#Setting-up-your-editor)
- - [Getting IDE support (autocomplete, documentation-on-hover, etc.) in Atom](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/02-Install-Guide.md#Getting-IDE-support-autocomplete-documentation-on-hover-etc-in-Atom)
- - [Dealing with IDE Server issues in Atom](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/02-Install-Guide.md#Dealing-with-IDE-Server-issues-in-Atom)
- - [Setting up Module Linker](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/02-Install-Guide.md#Setting-up-Module-Linker)
-- [03 The REPL.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/03-The-REPL.md)
- - [Preparing a Folder for the REPL](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/03-The-REPL.md#Preparing-a-Folder-for-the-REPL)
- - [Starting the REPL](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/03-The-REPL.md#Starting-the-REPL)
- - [Using the REPL](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/03-The-REPL.md#Using-the-REPL)
- - [Possible Outputted REPL Errors](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/03-The-REPL.md#Possible-Outputted-REPL-Errors)
- - [A Quick Overview of Some of the REPL Commands](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/03-The-REPL.md#A-Quick-Overview-of-Some-of-the-REPL-Commands)
- - [Help](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/03-The-REPL.md#Help)
- - [Quit](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/03-The-REPL.md#Quit)
- - [Reload](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/03-The-REPL.md#Reload)
- - [Clear](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/03-The-REPL.md#Clear)
- - [Browse](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/03-The-REPL.md#Browse)
- - [Type](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/03-The-REPL.md#Type)
- - [Kind](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/03-The-REPL.md#Kind)
- - [Show](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/03-The-REPL.md#Show)
- - [Print](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/03-The-REPL.md#Print)
- - [Paste](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/03-The-REPL.md#Paste)
- - [Complete](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/03-The-REPL.md#Complete)
-- [04 Other Important Info.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/04-Other-Important-Info.md)
- - [Differences From Haskell](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/04-Other-Important-Info.md#Differences-From-Haskell)
- - [Use GitHub Search to Find Things Search Engines (i.e. Google) Don't](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/04-Other-Important-Info.md#Use-GitHub-Search-to-Find-Things-Search-Engines-ie-Google-Dont)
- - [Documenation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/00-Getting-Started/04-Other-Important-Info.md#Documenation)
+- [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/ReadMe.md)
+- [01 Why Learn PureScript.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/01-Why-Learn-PureScript.md)
+ - [Why one should use Javascript to build programs...](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/01-Why-Learn-PureScript.md#Why-one-should-use-Javascript-to-build-programs)
+ - [...but not write Javascript to build it...](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/01-Why-Learn-PureScript.md#but-not-write-Javascript-to-build-it)
+ - [...and write Purescript instead of alternatives](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/01-Why-Learn-PureScript.md#and-write-Purescript-instead-of-alternatives)
+ - [Language Comparisons](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/01-Why-Learn-PureScript.md#Language-Comparisons)
+ - [PureScript vs TypeScript](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/01-Why-Learn-PureScript.md#PureScript-vs-TypeScript)
+ - [PureScript vs Elm](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/01-Why-Learn-PureScript.md#PureScript-vs-Elm)
+ - [PureScript vs GHCJS](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/01-Why-Learn-PureScript.md#PureScript-vs-GHCJS)
+ - [The Strengths of PureScript](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/01-Why-Learn-PureScript.md#The-Strengths-of-PureScript)
+ - [Strongly Adheres to the Functional Programming Paradigm](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/01-Why-Learn-PureScript.md#Strongly-Adheres-to-the-Functional-Programming-Paradigm)
+ - [Powerful Static Type System](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/01-Why-Learn-PureScript.md#Powerful-Static-Type-System)
+ - [Immutable Persistent Data Structures by Default](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/01-Why-Learn-PureScript.md#Immutable-Persistent-Data-Structures-by-Default)
+ - [Multiple Backends with Easy Foreign Function Interface](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/01-Why-Learn-PureScript.md#Multiple-Backends-with-Easy-Foreign-Function-Interface)
+ - [FAQ: Answering Miscellaneous Questions People May Have](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/01-Why-Learn-PureScript.md#FAQ-Answering-Miscellaneous-Questions-People-May-Have)
+ - [Is the price of the steep learning curve worth the benefits of using PureScript in code?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/01-Why-Learn-PureScript.md#Is-the-price-of-the-steep-learning-curve-worth-the-benefits-of-using-PureScript-in-code)
+ - [If I learn PureScript, can I get a good developer job?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/01-Why-Learn-PureScript.md#If-I-learn-PureScript-can-I-get-a-good-developer-job)
+ - [Should I learn PureScript now or wait until sometime later?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/01-Why-Learn-PureScript.md#Should-I-learn-PureScript-now-or-wait-until-sometime-later)
+ - [How long will it take me before I can write idiomatic code and be productive in PureScript?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/01-Why-Learn-PureScript.md#How-long-will-it-take-me-before-I-can-write-idiomatic-code-and-be-productive-in-PureScript)
+ - [If I choose to learn PureScript, will I later regret not having spent that same time learning a different compile-to-Javascript language (e.g. TypeScript, CoffeeScript, etc.) or a "compile to WebAssembly"-capable language (e.g. Rust) instead?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/01-Why-Learn-PureScript.md#If-I-choose-to-learn-PureScript-will-I-later-regret-not-having-spent-that-same-time-learning-a-different-compile-to-Javascript-language-eg-TypeScript-CoffeeScript-etc-or-a-compile-to-WebAssembly-capable-language-eg-Rust-instead)
+ - [How mature is the Ecosystem? Will I need to initially spend time writing/improving/documenting libraries for this language or can I immediately use libraries that are stable and mature?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/01-Why-Learn-PureScript.md#How-mature-is-the-Ecosystem-Will-I-need-to-initially-spend-time-writingimprovingdocumenting-libraries-for-this-language-or-can-I-immediately-use-libraries-that-are-stable-and-mature)
+ - [How hard it is to use another language's libraries via bindings?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/01-Why-Learn-PureScript.md#How-hard-it-is-to-use-another-languages-libraries-via-bindings)
+ - [How easy/pleasant is it to use the language's build tools (e.g. compiler, linter/type checker, dependency manager, etc.) and text editor tools (e.g. ease of setup, refactoring support, pop-up documentation, etc.)?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/01-Why-Learn-PureScript.md#How-easypleasant-is-it-to-use-the-languages-build-tools-eg-compiler-lintertype-checker-dependency-manager-etc-and-text-editor-tools-eg-ease-of-setup-refactoring-support-pop-up-documentation-etc)
+ - [How friendly, helpful, responsive, inspiring, determined, and collaborative are the people who use and contribute to this language and its ecosystem?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/01-Why-Learn-PureScript.md#How-friendly-helpful-responsive-inspiring-determined-and-collaborative-are-the-people-who-use-and-contribute-to-this-language-and-its-ecosystem)
+ - [What problems do developer teams typically encounter when migrating from Language X to PureScript and how hard are these to overcome?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/01-Why-Learn-PureScript.md#What-problems-do-developer-teams-typically-encounter-when-migrating-from-Language-X-to-PureScript-and-how-hard-are-these-to-overcome)
+- [02 Install Guide.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/02-Install-Guide.md)
+ - [Getting Additional Help](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/02-Install-Guide.md#Getting-Additional-Help)
+ - [Setting up Purescript for the First Time](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/02-Install-Guide.md#Setting-up-Purescript-for-the-First-Time)
+ - [Overview](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/02-Install-Guide.md#Overview)
+ - [Installation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/02-Install-Guide.md#Installation)
+ - [Installing NPM](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/02-Install-Guide.md#Installing-NPM)
+ - [Manual Install](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/02-Install-Guide.md#Manual-Install)
+ - [NVM Install](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/02-Install-Guide.md#NVM-Install)
+ - [Installing PureScript and Related Tooling](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/02-Install-Guide.md#Installing-PureScript-and-Related-Tooling)
+ - [Versions Used in this Project](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/02-Install-Guide.md#Versions-Used-in-this-Project)
+ - [Building This Project](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/02-Install-Guide.md#Building-This-Project)
+ - [Setting up your editor](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/02-Install-Guide.md#Setting-up-your-editor)
+ - [Getting IDE support (autocomplete, documentation-on-hover, etc.) in Atom](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/02-Install-Guide.md#Getting-IDE-support-autocomplete-documentation-on-hover-etc-in-Atom)
+ - [Dealing with IDE Server issues in Atom](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/02-Install-Guide.md#Dealing-with-IDE-Server-issues-in-Atom)
+ - [Setting up Module Linker](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/02-Install-Guide.md#Setting-up-Module-Linker)
+- [03 The REPL.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/03-The-REPL.md)
+ - [Preparing a Folder for the REPL](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/03-The-REPL.md#Preparing-a-Folder-for-the-REPL)
+ - [Starting the REPL](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/03-The-REPL.md#Starting-the-REPL)
+ - [Using the REPL](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/03-The-REPL.md#Using-the-REPL)
+ - [Possible Outputted REPL Errors](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/03-The-REPL.md#Possible-Outputted-REPL-Errors)
+ - [A Quick Overview of Some of the REPL Commands](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/03-The-REPL.md#A-Quick-Overview-of-Some-of-the-REPL-Commands)
+ - [Help](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/03-The-REPL.md#Help)
+ - [Quit](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/03-The-REPL.md#Quit)
+ - [Reload](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/03-The-REPL.md#Reload)
+ - [Clear](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/03-The-REPL.md#Clear)
+ - [Browse](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/03-The-REPL.md#Browse)
+ - [Type](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/03-The-REPL.md#Type)
+ - [Kind](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/03-The-REPL.md#Kind)
+ - [Show](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/03-The-REPL.md#Show)
+ - [Print](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/03-The-REPL.md#Print)
+ - [Paste](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/03-The-REPL.md#Paste)
+ - [Complete](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/03-The-REPL.md#Complete)
+- [04 Other Important Info.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/04-Other-Important-Info.md)
+ - [Differences From Haskell](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/04-Other-Important-Info.md#Differences-From-Haskell)
+ - [Use GitHub Search to Find Things Search Engines (i.e. Google) Don't](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/04-Other-Important-Info.md#Use-GitHub-Search-to-Find-Things-Search-Engines-ie-Google-Dont)
+ - [Documenation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/00-Getting-Started/04-Other-Important-Info.md#Documenation)
## 01 FP Philosophical Foundations
-- [01 Composition Everywhere.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/01-Composition-Everywhere.md)
- - [Composing Types Algebraically](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/01-Composition-Everywhere.md#Composing-Types-Algebraically)
- - [Composing Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/01-Composition-Everywhere.md#Composing-Functions)
-- [02 Pure vs Impure Functions.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/02-Pure-vs-Impure-Functions.md)
- - [Visual Overview](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/02-Pure-vs-Impure-Functions.md#Visual-Overview)
- - [General Overview](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/02-Pure-vs-Impure-Functions.md#General-Overview)
- - [Properties](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/02-Pure-vs-Impure-Functions.md#Properties)
- - [Graph Reduction](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/02-Pure-vs-Impure-Functions.md#Graph-Reduction)
- - [Execution vs Description and Interpretation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/02-Pure-vs-Impure-Functions.md#Execution-vs-Description-and-Interpretation)
-- [03 Data Types.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/03-Data-Types.md)
- - [Principles](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/03-Data-Types.md#Principles)
- - [Big O Notation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/03-Data-Types.md#Big-O-Notation)
-- [04 Lazy vs Strict.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/04-Lazy-vs-Strict.md)
-- [05 Looping via Recursion.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/05-Looping-via-Recursion.md)
- - [For `i` until `condition` do `computation` and then increment `i`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/05-Looping-via-Recursion.md#For-i-until-condition-do-computation-and-then-increment-i)
- - [Stack-Safe](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/05-Looping-via-Recursion.md#Stack-Safe)
- - [For ... Break If](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/05-Looping-via-Recursion.md#For--Break-If)
- - [Short-Circuiting](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/05-Looping-via-Recursion.md#Short-Circuiting)
- - [Other Loops](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/05-Looping-via-Recursion.md#Other-Loops)
- - [While](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/05-Looping-via-Recursion.md#While)
- - [For `value` in `collection`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/05-Looping-via-Recursion.md#For-value-in-collection)
-- [06 Type Classes.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/06-Type-Classes.md)
- - [What Problem Do Type Classes Solve?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/06-Type-Classes.md#What-Problem-Do-Type-Classes-Solve)
- - [Where Do Type Classes Come From?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/06-Type-Classes.md#Where-Do-Type-Classes-Come-From)
- - [Type Classes as Encodings of Mathematical Concepts](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/06-Type-Classes.md#Type-Classes-as-Encodings-of-Mathematical-Concepts)
- - [Examples](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/06-Type-Classes.md#Examples)
- - [Type Classes and Dual Relationships](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/06-Type-Classes.md#Type-Classes-and-Dual-Relationships)
- - [Type Class Instances: Global vs Local](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/06-Type-Classes.md#Type-Class-Instances-Global-vs-Local)
- - [Benefits of Global Instances](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/06-Type-Classes.md#Benefits-of-Global-Instances)
- - [Costs of Global Instances: Orphan Instances](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/06-Type-Classes.md#Costs-of-Global-Instances-Orphan-Instances)
- - [Why Orphan Instances Are Painful](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/06-Type-Classes.md#Why-Orphan-Instances-Are-Painful)
- - [Summary of Global vs Local Type Class Instances' Tradeoffs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/06-Type-Classes.md#Summary-of-Global-vs-Local-Type-Class-Instances-Tradeoffs)
- - [Non-Category Theory Usages of Type Classes](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/06-Type-Classes.md#Non-Category-Theory-Usages-of-Type-Classes)
- - [Debate: Must Type Classes Always Be Lawful?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/06-Type-Classes.md#Debate-Must-Type-Classes-Always-Be-Lawful)
-- [07 FP: The Big Picture.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/01-FP-Philosophical-Foundations/07-FP--The-Big-Picture.md)
+- [01 Composition Everywhere.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/01-Composition-Everywhere.md)
+ - [Composing Types Algebraically](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/01-Composition-Everywhere.md#Composing-Types-Algebraically)
+ - [Composing Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/01-Composition-Everywhere.md#Composing-Functions)
+- [02 Pure vs Impure Functions.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/02-Pure-vs-Impure-Functions.md)
+ - [Visual Overview](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/02-Pure-vs-Impure-Functions.md#Visual-Overview)
+ - [General Overview](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/02-Pure-vs-Impure-Functions.md#General-Overview)
+ - [Properties](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/02-Pure-vs-Impure-Functions.md#Properties)
+ - [Graph Reduction](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/02-Pure-vs-Impure-Functions.md#Graph-Reduction)
+ - [Execution vs Description and Interpretation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/02-Pure-vs-Impure-Functions.md#Execution-vs-Description-and-Interpretation)
+- [03 Data Types.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/03-Data-Types.md)
+ - [Principles](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/03-Data-Types.md#Principles)
+ - [Big O Notation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/03-Data-Types.md#Big-O-Notation)
+- [04 Lazy vs Strict.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/04-Lazy-vs-Strict.md)
+- [05 Looping via Recursion.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/05-Looping-via-Recursion.md)
+ - [For `i` until `condition` do `computation` and then increment `i`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/05-Looping-via-Recursion.md#For-i-until-condition-do-computation-and-then-increment-i)
+ - [Stack-Safe](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/05-Looping-via-Recursion.md#Stack-Safe)
+ - [For ... Break If](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/05-Looping-via-Recursion.md#For--Break-If)
+ - [Short-Circuiting](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/05-Looping-via-Recursion.md#Short-Circuiting)
+ - [Other Loops](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/05-Looping-via-Recursion.md#Other-Loops)
+ - [While](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/05-Looping-via-Recursion.md#While)
+ - [For `value` in `collection`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/05-Looping-via-Recursion.md#For-value-in-collection)
+- [06 Type Classes.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/06-Type-Classes.md)
+ - [What Problem Do Type Classes Solve?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/06-Type-Classes.md#What-Problem-Do-Type-Classes-Solve)
+ - [Where Do Type Classes Come From?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/06-Type-Classes.md#Where-Do-Type-Classes-Come-From)
+ - [Type Classes as Encodings of Mathematical Concepts](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/06-Type-Classes.md#Type-Classes-as-Encodings-of-Mathematical-Concepts)
+ - [Examples](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/06-Type-Classes.md#Examples)
+ - [Type Classes and Dual Relationships](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/06-Type-Classes.md#Type-Classes-and-Dual-Relationships)
+ - [Type Class Instances: Global vs Local](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/06-Type-Classes.md#Type-Class-Instances-Global-vs-Local)
+ - [Benefits of Global Instances](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/06-Type-Classes.md#Benefits-of-Global-Instances)
+ - [Costs of Global Instances: Orphan Instances](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/06-Type-Classes.md#Costs-of-Global-Instances-Orphan-Instances)
+ - [Why Orphan Instances Are Painful](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/06-Type-Classes.md#Why-Orphan-Instances-Are-Painful)
+ - [Summary of Global vs Local Type Class Instances' Tradeoffs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/06-Type-Classes.md#Summary-of-Global-vs-Local-Type-Class-Instances-Tradeoffs)
+ - [Non-Category Theory Usages of Type Classes](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/06-Type-Classes.md#Non-Category-Theory-Usages-of-Type-Classes)
+ - [Debate: Must Type Classes Always Be Lawful?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/06-Type-Classes.md#Debate-Must-Type-Classes-Always-Be-Lawful)
+- [07 FP: The Big Picture.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/01-FP-Philosophical-Foundations/07-FP--The-Big-Picture.md)
## 02 Build Tools
-- [Readme.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/Readme.md)
- - [History: How We Got Here](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/Readme.md#History-How-We-Got-Here)
- - [Phase 1: Initial Tooling](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/Readme.md#Phase-1-Initial-Tooling)
- - [Phase 2: The `psc-package` Experiment](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/Readme.md#Phase-2-The-psc-package-Experiment)
- - [Phase 3: Improving the `psc-package` Developer Workflow via `Spago`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/Readme.md#Phase-3-Improving-the-psc-package-Developer-Workflow-via-Spago)
- - [Overview of Tools](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/Readme.md#Overview-of-Tools)
+- [Readme.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/Readme.md)
+ - [History: How We Got Here](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/Readme.md#History-How-We-Got-Here)
+ - [Phase 1: Initial Tooling](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/Readme.md#Phase-1-Initial-Tooling)
+ - [Phase 2: The `psc-package` Experiment](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/Readme.md#Phase-2-The-psc-package-Experiment)
+ - [Phase 3: Improving the `psc-package` Developer Workflow via `Spago`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/Readme.md#Phase-3-Improving-the-psc-package-Developer-Workflow-via-Spago)
+ - [Overview of Tools](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/Readme.md#Overview-of-Tools)
- 01 Dependency Managers
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/01-Dependency-Managers/ReadMe.md)
- - [Dependency Managers Compared](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/01-Dependency-Managers/ReadMe.md#Dependency-Managers-Compared)
- - [01 Bower Explained.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/01-Dependency-Managers/01-Bower-Explained.md)
- - [What is it?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/01-Dependency-Managers/01-Bower-Explained.md#What-is-it)
- - [Why Use It?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/01-Dependency-Managers/01-Bower-Explained.md#Why-Use-It)
- - [Why doesn't Purescript use `npm`?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/01-Dependency-Managers/01-Bower-Explained.md#Why-doesnt-Purescript-use-npm)
- - [Problem Points?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/01-Dependency-Managers/01-Bower-Explained.md#Problem-Points)
- - [Solution to Most Common Bower Problem: The Cache Mechanism](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/01-Dependency-Managers/01-Bower-Explained.md#Solution-to-Most-Common-Bower-Problem-The-Cache-Mechanism)
- - [Horrible User Experience Occurs After a Breaking Change Release](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/01-Dependency-Managers/01-Bower-Explained.md#Horrible-User-Experience-Occurs-After-a-Breaking-Change-Release)
- - [Annoyance Defined](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/01-Dependency-Managers/01-Bower-Explained.md#Annoyance-Defined)
- - [Recommended Guidelines](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/01-Dependency-Managers/01-Bower-Explained.md#Recommended-Guidelines)
- - [02 Spago Explained.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/01-Dependency-Managers/02-Spago-Explained.md)
- - [What is it?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/01-Dependency-Managers/02-Spago-Explained.md#What-is-it)
- - [Why Use It?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/01-Dependency-Managers/02-Spago-Explained.md#Why-Use-It)
- - [How does it work?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/01-Dependency-Managers/02-Spago-Explained.md#How-does-it-work)
- - [Spago Terms](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/01-Dependency-Managers/02-Spago-Explained.md#Spago-Terms)
- - [The Process It Uses](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/01-Dependency-Managers/02-Spago-Explained.md#The-Process-It-Uses)
- - [Problem Points?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/01-Dependency-Managers/02-Spago-Explained.md#Problem-Points)
- - [03 Why We Need Both.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/01-Dependency-Managers/03-Why-We-Need-Both.md)
-- [02 Build Tools.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/02-Build-Tools.md)
-- [03 CLI Programs: All Options Explained.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/03-CLI-Programs--All-Options-Explained.md)
- - [Purs (PureScript Compiler)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/03-CLI-Programs--All-Options-Explained.md#Purs-PureScript-Compiler)
- - [Spago (PureScript Build Tool & Dependency Manager)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/03-CLI-Programs--All-Options-Explained.md#Spago-PureScript-Build-Tool--Dependency-Manager)
- - [Pulp (PureScript Build Tool)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/03-CLI-Programs--All-Options-Explained.md#Pulp-PureScript-Build-Tool)
-- [04 Bower: Project Workflow.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/04-Bower--Project-Workflow.md)
- - [Create the project](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/04-Bower--Project-Workflow.md#Create-the-project)
- - [Install dependencies](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/04-Bower--Project-Workflow.md#Install-dependencies)
- - [Write the Code](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/04-Bower--Project-Workflow.md#Write-the-Code)
- - [Publish the Package for the First Time](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/04-Bower--Project-Workflow.md#Publish-the-Package-for-the-First-Time)
- - [Publish a New Version of an Already-Published Package](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/04-Bower--Project-Workflow.md#Publish-a-New-Version-of-an-Already-Published-Package)
-- [05 Spago: Project Workflow.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/05-Spago--Project-Workflow.md)
- - [Create the project](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/05-Spago--Project-Workflow.md#Create-the-project)
- - [Configure the Package Set](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/05-Spago--Project-Workflow.md#Configure-the-Package-Set)
- - [Freeze the Package Set](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/05-Spago--Project-Workflow.md#Freeze-the-Package-Set)
- - [Install Dependencies](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/05-Spago--Project-Workflow.md#Install-Dependencies)
- - [Write the Code](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/05-Spago--Project-Workflow.md#Write-the-Code)
- - [Build the Code](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/05-Spago--Project-Workflow.md#Build-the-Code)
-- [06 Continuous Integration.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/02-Build-Tools/06-Continuous-Integration.md)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/01-Dependency-Managers/ReadMe.md)
+ - [Dependency Managers Compared](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/01-Dependency-Managers/ReadMe.md#Dependency-Managers-Compared)
+ - [01 Bower Explained.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/01-Dependency-Managers/01-Bower-Explained.md)
+ - [What is it?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/01-Dependency-Managers/01-Bower-Explained.md#What-is-it)
+ - [Why Use It?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/01-Dependency-Managers/01-Bower-Explained.md#Why-Use-It)
+ - [Why doesn't Purescript use `npm`?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/01-Dependency-Managers/01-Bower-Explained.md#Why-doesnt-Purescript-use-npm)
+ - [Problem Points?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/01-Dependency-Managers/01-Bower-Explained.md#Problem-Points)
+ - [Solution to Most Common Bower Problem: The Cache Mechanism](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/01-Dependency-Managers/01-Bower-Explained.md#Solution-to-Most-Common-Bower-Problem-The-Cache-Mechanism)
+ - [Horrible User Experience Occurs After a Breaking Change Release](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/01-Dependency-Managers/01-Bower-Explained.md#Horrible-User-Experience-Occurs-After-a-Breaking-Change-Release)
+ - [Annoyance Defined](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/01-Dependency-Managers/01-Bower-Explained.md#Annoyance-Defined)
+ - [Recommended Guidelines](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/01-Dependency-Managers/01-Bower-Explained.md#Recommended-Guidelines)
+ - [02 Spago Explained.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/01-Dependency-Managers/02-Spago-Explained.md)
+ - [What is it?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/01-Dependency-Managers/02-Spago-Explained.md#What-is-it)
+ - [Why Use It?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/01-Dependency-Managers/02-Spago-Explained.md#Why-Use-It)
+ - [How does it work?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/01-Dependency-Managers/02-Spago-Explained.md#How-does-it-work)
+ - [Spago Terms](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/01-Dependency-Managers/02-Spago-Explained.md#Spago-Terms)
+ - [The Process It Uses](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/01-Dependency-Managers/02-Spago-Explained.md#The-Process-It-Uses)
+ - [Problem Points?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/01-Dependency-Managers/02-Spago-Explained.md#Problem-Points)
+ - [03 Why We Need Both.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/01-Dependency-Managers/03-Why-We-Need-Both.md)
+- [02 Build Tools.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/02-Build-Tools.md)
+- [03 CLI Programs: All Options Explained.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/03-CLI-Programs--All-Options-Explained.md)
+ - [Purs (PureScript Compiler)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/03-CLI-Programs--All-Options-Explained.md#Purs-PureScript-Compiler)
+ - [Spago (PureScript Build Tool & Dependency Manager)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/03-CLI-Programs--All-Options-Explained.md#Spago-PureScript-Build-Tool--Dependency-Manager)
+ - [Pulp (PureScript Build Tool)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/03-CLI-Programs--All-Options-Explained.md#Pulp-PureScript-Build-Tool)
+- [04 Bower: Project Workflow.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/04-Bower--Project-Workflow.md)
+ - [Create the project](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/04-Bower--Project-Workflow.md#Create-the-project)
+ - [Install dependencies](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/04-Bower--Project-Workflow.md#Install-dependencies)
+ - [Write the Code](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/04-Bower--Project-Workflow.md#Write-the-Code)
+ - [Publish the Package for the First Time](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/04-Bower--Project-Workflow.md#Publish-the-Package-for-the-First-Time)
+ - [Publish a New Version of an Already-Published Package](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/04-Bower--Project-Workflow.md#Publish-a-New-Version-of-an-Already-Published-Package)
+- [05 Spago: Project Workflow.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/05-Spago--Project-Workflow.md)
+ - [Create the project](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/05-Spago--Project-Workflow.md#Create-the-project)
+ - [Configure the Package Set](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/05-Spago--Project-Workflow.md#Configure-the-Package-Set)
+ - [Freeze the Package Set](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/05-Spago--Project-Workflow.md#Freeze-the-Package-Set)
+ - [Install Dependencies](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/05-Spago--Project-Workflow.md#Install-Dependencies)
+ - [Write the Code](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/05-Spago--Project-Workflow.md#Write-the-Code)
+ - [Build the Code](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/05-Spago--Project-Workflow.md#Build-the-Code)
+- [06 Continuous Integration.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/02-Build-Tools/06-Continuous-Integration.md)
## 11 Syntax
-- [Readme.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/Readme.md)
+- [Readme.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/Readme.md)
- 01 Basic Syntax
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/ReadMe.md)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/ReadMe.md)
- src
- - [00 Comments.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/00-Comments.purs)
+ - [00 Comments.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/00-Comments.purs)
- 01 Preliminary Concepts
- - [01 Value Function Data Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/01-Preliminary-Concepts/01-Value-Function-Data-Syntax.purs)
- - [02 Explaining Kinds.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/01-Preliminary-Concepts/02-Explaining-Kinds.md)
- - [What are Kinds?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/01-Preliminary-Concepts/02-Explaining-Kinds.md#What-are-Kinds)
- - [Concrete Types](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/01-Preliminary-Concepts/02-Explaining-Kinds.md#Concrete-Types)
- - [Higher-Kinded Types](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/01-Preliminary-Concepts/02-Explaining-Kinds.md#Higher-Kinded-Types)
- - [Table of Inferred Types](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/01-Preliminary-Concepts/02-Explaining-Kinds.md#Table-of-Inferred-Types)
- - [03 The Prim Module.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/01-Preliminary-Concepts/03-The-Prim-Module.purs)
+ - [01 Value Function Data Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/01-Preliminary-Concepts/01-Value-Function-Data-Syntax.purs)
+ - [02 Explaining Kinds.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/01-Preliminary-Concepts/02-Explaining-Kinds.md)
+ - [What are Kinds?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/01-Preliminary-Concepts/02-Explaining-Kinds.md#What-are-Kinds)
+ - [Concrete Types](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/01-Preliminary-Concepts/02-Explaining-Kinds.md#Concrete-Types)
+ - [Higher-Kinded Types](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/01-Preliminary-Concepts/02-Explaining-Kinds.md#Higher-Kinded-Types)
+ - [Table of Inferred Types](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/01-Preliminary-Concepts/02-Explaining-Kinds.md#Table-of-Inferred-Types)
+ - [03 The Prim Module.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/01-Preliminary-Concepts/03-The-Prim-Module.purs)
- 02 Data and Functions
- - [01 Defining Values and Functions.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/01-Defining-Values-and-Functions.purs)
- - [02 Function Currying.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/02-Function-Currying.purs)
- - [03 Abbreviated Function Body.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/03-Abbreviated-Function-Body.purs)
- - [04 Keyword: Data.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/04-Keyword--Data.purs)
- - [05 Pattern Matching in Functions.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/05-Pattern-Matching-in-Functions.purs)
- - [06 Unicode Syntax Support.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/06-Unicode-Syntax-Support.purs)
+ - [01 Defining Values and Functions.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/01-Defining-Values-and-Functions.purs)
+ - [02 Function Currying.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/02-Function-Currying.purs)
+ - [03 Abbreviated Function Body.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/03-Abbreviated-Function-Body.purs)
+ - [04 Keyword: Data.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/04-Keyword--Data.purs)
+ - [05 Pattern Matching in Functions.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/05-Pattern-Matching-in-Functions.purs)
+ - [06 Unicode Syntax Support.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/06-Unicode-Syntax-Support.purs)
- 07 Some Keywords and Their Syntax
- - [01 Keyword: Forall.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/07-Some-Keywords-and-Their-Syntax/01-Keyword--Forall.purs)
- - [02 Keyword: Type.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/07-Some-Keywords-and-Their-Syntax/02-Keyword--Type.purs)
- - [03 Keywords: Case expression of.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/07-Some-Keywords-and-Their-Syntax/03-Keywords--Case-expression-of.purs)
- - [04 Keywords: Where and Let In.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/07-Some-Keywords-and-Their-Syntax/04-Keywords--Where-and-Let-In.purs)
- - [05 Keywords: If Then Else.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/07-Some-Keywords-and-Their-Syntax/05-Keywords--If-Then-Else.purs)
- - [06 Indentation Rules.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/07-Some-Keywords-and-Their-Syntax/06-Indentation-Rules.purs)
- - [08 Functions and Data with Higher Kinded Types.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/08-Functions-and-Data-with-Higher-Kinded-Types.purs)
+ - [01 Keyword: Forall.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/07-Some-Keywords-and-Their-Syntax/01-Keyword--Forall.purs)
+ - [02 Keyword: Type.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/07-Some-Keywords-and-Their-Syntax/02-Keyword--Type.purs)
+ - [03 Keywords: Case expression of.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/07-Some-Keywords-and-Their-Syntax/03-Keywords--Case-expression-of.purs)
+ - [04 Keywords: Where and Let In.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/07-Some-Keywords-and-Their-Syntax/04-Keywords--Where-and-Let-In.purs)
+ - [05 Keywords: If Then Else.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/07-Some-Keywords-and-Their-Syntax/05-Keywords--If-Then-Else.purs)
+ - [06 Indentation Rules.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/07-Some-Keywords-and-Their-Syntax/06-Indentation-Rules.purs)
+ - [08 Functions and Data with Higher Kinded Types.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/08-Functions-and-Data-with-Higher-Kinded-Types.purs)
- 09 Records
- - [01 Basic Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/09-Records/01-Basic-Syntax.purs)
- - [Create Records](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/09-Records/01-Basic-Syntax.purs#L34)
- - [Get Fields in records](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/09-Records/01-Basic-Syntax.purs#L87)
- - [Overwrite Fields in Records](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/09-Records/01-Basic-Syntax.purs#L92)
- - [Nested Records](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/09-Records/01-Basic-Syntax.purs#L124)
- - [Pattern Matching on Records](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/09-Records/01-Basic-Syntax.purs#L148)
- - [02 Quoted Key Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/09-Records/02-Quoted-Key-Syntax.purs)
- - [03 Row Polymorphism.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/09-Records/03-Row-Polymorphism.purs)
+ - [01 Basic Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/09-Records/01-Basic-Syntax.purs)
+ - [Create Records](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/09-Records/01-Basic-Syntax.purs#L34)
+ - [Get Fields in records](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/09-Records/01-Basic-Syntax.purs#L87)
+ - [Overwrite Fields in Records](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/09-Records/01-Basic-Syntax.purs#L92)
+ - [Nested Records](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/09-Records/01-Basic-Syntax.purs#L124)
+ - [Pattern Matching on Records](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/09-Records/01-Basic-Syntax.purs#L148)
+ - [02 Quoted Key Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/09-Records/02-Quoted-Key-Syntax.purs)
+ - [03 Row Polymorphism.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/09-Records/03-Row-Polymorphism.purs)
- 11 Infix Notation
- - [01 Regular.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/11-Infix-Notation/01-Regular.purs)
- - [02 Extended.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/11-Infix-Notation/02-Extended.purs)
+ - [01 Regular.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/11-Infix-Notation/01-Regular.purs)
+ - [02 Extended.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/02-Data-and-Functions/11-Infix-Notation/02-Extended.purs)
- 03 TypeClasses and Newtypes
- - [01 Single Paramter.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/03-TypeClasses-and-Newtypes/01-Single-Paramter.purs)
- - [02 Constraining Types Using Typeclasses.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/03-TypeClasses-and-Newtypes/02-Constraining-Types-Using-Typeclasses.purs)
- - [03 Dictionaries: How Type Classes Work.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/03-TypeClasses-and-Newtypes/03-Dictionaries--How-Type-Classes-Work.purs)
- - [04 Typeclass Relationships.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/03-TypeClasses-and-Newtypes/04-Typeclass-Relationships.purs)
- - [05 Typeclasses with No Definitions.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/03-TypeClasses-and-Newtypes/05-Typeclasses-with-No-Definitions.purs)
- - [06 Multi Paramter.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/03-TypeClasses-and-Newtypes/06-Multi-Paramter.purs)
- - [07 Functional Dependencies.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/03-TypeClasses-and-Newtypes/07-Functional-Dependencies.purs)
- - [10 Keyword: Newtype.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/03-TypeClasses-and-Newtypes/10-Keyword--Newtype.purs)
- - [21 Deriving Common Typeclass Instances for Custom Types.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/03-TypeClasses-and-Newtypes/21-Deriving-Common-Typeclass-Instances-for-Custom-Types.purs)
- - [22 Deriving Typeclass Instances for Newtyped Types.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/03-TypeClasses-and-Newtypes/22-Deriving-Typeclass-Instances-for-Newtyped-Types.purs)
- - [04 Documentation.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/04-Documentation.purs)
+ - [01 Single Paramter.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/03-TypeClasses-and-Newtypes/01-Single-Paramter.purs)
+ - [02 Constraining Types Using Typeclasses.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/03-TypeClasses-and-Newtypes/02-Constraining-Types-Using-Typeclasses.purs)
+ - [03 Dictionaries: How Type Classes Work.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/03-TypeClasses-and-Newtypes/03-Dictionaries--How-Type-Classes-Work.purs)
+ - [04 Typeclass Relationships.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/03-TypeClasses-and-Newtypes/04-Typeclass-Relationships.purs)
+ - [05 Typeclasses with No Definitions.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/03-TypeClasses-and-Newtypes/05-Typeclasses-with-No-Definitions.purs)
+ - [06 Multi Paramter.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/03-TypeClasses-and-Newtypes/06-Multi-Paramter.purs)
+ - [07 Functional Dependencies.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/03-TypeClasses-and-Newtypes/07-Functional-Dependencies.purs)
+ - [10 Keyword: Newtype.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/03-TypeClasses-and-Newtypes/10-Keyword--Newtype.purs)
+ - [21 Deriving Common Typeclass Instances for Custom Types.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/03-TypeClasses-and-Newtypes/21-Deriving-Common-Typeclass-Instances-for-Custom-Types.purs)
+ - [22 Deriving Typeclass Instances for Newtyped Types.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/03-TypeClasses-and-Newtypes/22-Deriving-Typeclass-Instances-for-Newtyped-Types.purs)
+ - [04 Documentation.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/04-Documentation.purs)
- 05 Special Compiler Features
- - [01 Typed Holes.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/05-Special-Compiler-Features/01-Typed-Holes.purs)
- - [02 Typed Wildcards.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/01-Basic-Syntax/src/05-Special-Compiler-Features/02-Typed-Wildcards.purs)
+ - [01 Typed Holes.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/05-Special-Compiler-Features/01-Typed-Holes.purs)
+ - [02 Typed Wildcards.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/01-Basic-Syntax/src/05-Special-Compiler-Features/02-Typed-Wildcards.purs)
- 02 Foreign Function Interface
- - [Readme.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/02-Foreign-Function-Interface/Readme.md)
- - [Alternate Backends](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/02-Foreign-Function-Interface/Readme.md#Alternate-Backends)
- - [Syntax](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/02-Foreign-Function-Interface/Readme.md#Syntax)
+ - [Readme.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/02-Foreign-Function-Interface/Readme.md)
+ - [Alternate Backends](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/02-Foreign-Function-Interface/Readme.md#Alternate-Backends)
+ - [Syntax](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/02-Foreign-Function-Interface/Readme.md#Syntax)
- src
- - [Same File Name.js](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/02-Foreign-Function-Interface/src/Same-File-Name.js)
- - [Same File Name.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/02-Foreign-Function-Interface/src/Same-File-Name.purs)
+ - [Same File Name.js](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/02-Foreign-Function-Interface/src/Same-File-Name.js)
+ - [Same File Name.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/02-Foreign-Function-Interface/src/Same-File-Name.purs)
- 03 Type Level Programming Syntax
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/03-Type-Level-Programming-Syntax/ReadMe.md)
- - [Other Learning Sources](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/03-Type-Level-Programming-Syntax/ReadMe.md#Other-Learning-Sources)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/03-Type-Level-Programming-Syntax/ReadMe.md)
+ - [Other Learning Sources](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/03-Type-Level-Programming-Syntax/ReadMe.md#Other-Learning-Sources)
- src
- - [01 An Overview of Terms and Concepts.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/03-Type-Level-Programming-Syntax/src/01-An-Overview-of-Terms-and-Concepts.md)
- - [Comparison](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/03-Type-Level-Programming-Syntax/src/01-An-Overview-of-Terms-and-Concepts.md#Comparison)
- - [Definition](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/03-Type-Level-Programming-Syntax/src/01-An-Overview-of-Terms-and-Concepts.md#Definition)
- - [What Are Types and Functions?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/03-Type-Level-Programming-Syntax/src/01-An-Overview-of-Terms-and-Concepts.md#What-Are-Types-and-Functions)
- - [Types Reexamined](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/03-Type-Level-Programming-Syntax/src/01-An-Overview-of-Terms-and-Concepts.md#Types-Reexamined)
- - [Functions Reexamined](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/03-Type-Level-Programming-Syntax/src/01-An-Overview-of-Terms-and-Concepts.md#Functions-Reexamined)
- - [Kinds Redefined](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/03-Type-Level-Programming-Syntax/src/01-An-Overview-of-Terms-and-Concepts.md#Kinds-Redefined)
- - [Summary of Inferred Kinds](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/03-Type-Level-Programming-Syntax/src/01-An-Overview-of-Terms-and-Concepts.md#Summary-of-Inferred-Kinds)
- - [Type-Level Programming Flow](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/03-Type-Level-Programming-Syntax/src/01-An-Overview-of-Terms-and-Concepts.md#Type-Level-Programming-Flow)
- - [Related Papers](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/03-Type-Level-Programming-Syntax/src/01-An-Overview-of-Terms-and-Concepts.md#Related-Papers)
+ - [01 An Overview of Terms and Concepts.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/03-Type-Level-Programming-Syntax/src/01-An-Overview-of-Terms-and-Concepts.md)
+ - [Comparison](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/03-Type-Level-Programming-Syntax/src/01-An-Overview-of-Terms-and-Concepts.md#Comparison)
+ - [Definition](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/03-Type-Level-Programming-Syntax/src/01-An-Overview-of-Terms-and-Concepts.md#Definition)
+ - [What Are Types and Functions?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/03-Type-Level-Programming-Syntax/src/01-An-Overview-of-Terms-and-Concepts.md#What-Are-Types-and-Functions)
+ - [Types Reexamined](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/03-Type-Level-Programming-Syntax/src/01-An-Overview-of-Terms-and-Concepts.md#Types-Reexamined)
+ - [Functions Reexamined](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/03-Type-Level-Programming-Syntax/src/01-An-Overview-of-Terms-and-Concepts.md#Functions-Reexamined)
+ - [Kinds Redefined](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/03-Type-Level-Programming-Syntax/src/01-An-Overview-of-Terms-and-Concepts.md#Kinds-Redefined)
+ - [Summary of Inferred Kinds](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/03-Type-Level-Programming-Syntax/src/01-An-Overview-of-Terms-and-Concepts.md#Summary-of-Inferred-Kinds)
+ - [Type-Level Programming Flow](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/03-Type-Level-Programming-Syntax/src/01-An-Overview-of-Terms-and-Concepts.md#Type-Level-Programming-Flow)
+ - [Related Papers](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/03-Type-Level-Programming-Syntax/src/01-An-Overview-of-Terms-and-Concepts.md#Related-Papers)
- 02 Basic Syntax
- - [01 Defining Custom Kinds.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/03-Type-Level-Programming-Syntax/src/02-Basic-Syntax/01-Defining-Custom-Kinds.purs)
- - [02 Hidden Kinds Desugared.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/03-Type-Level-Programming-Syntax/src/02-Basic-Syntax/02-Hidden-Kinds-Desugared.purs)
+ - [01 Defining Custom Kinds.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/03-Type-Level-Programming-Syntax/src/02-Basic-Syntax/01-Defining-Custom-Kinds.purs)
+ - [02 Hidden Kinds Desugared.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/03-Type-Level-Programming-Syntax/src/02-Basic-Syntax/02-Hidden-Kinds-Desugared.purs)
- 03 Defining Functions
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/03-Type-Level-Programming-Syntax/src/02-Basic-Syntax/03-Defining-Functions/ReadMe.md)
- - [Solve for X](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/03-Type-Level-Programming-Syntax/src/02-Basic-Syntax/03-Defining-Functions/ReadMe.md#Solve-for-X)
- - [Unification](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/03-Type-Level-Programming-Syntax/src/02-Basic-Syntax/03-Defining-Functions/ReadMe.md#Unification)
- - [Functional Dependencies Reexamined](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/03-Type-Level-Programming-Syntax/src/02-Basic-Syntax/03-Defining-Functions/ReadMe.md#Functional-Dependencies-Reexamined)
- - [Prolog Links](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/03-Type-Level-Programming-Syntax/src/02-Basic-Syntax/03-Defining-Functions/ReadMe.md#Prolog-Links)
- - [Works Cited](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/03-Type-Level-Programming-Syntax/src/02-Basic-Syntax/03-Defining-Functions/ReadMe.md#Works-Cited)
- - [01 Single Arg Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/03-Type-Level-Programming-Syntax/src/02-Basic-Syntax/03-Defining-Functions/01-Single-Arg-Syntax.purs)
- - [02 Multi Arg Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/03-Type-Level-Programming-Syntax/src/02-Basic-Syntax/03-Defining-Functions/02-Multi-Arg-Syntax.purs)
- - [03 Pattern Matching Using Instances.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/03-Type-Level-Programming-Syntax/src/02-Basic-Syntax/03-Defining-Functions/03-Pattern-Matching-Using-Instances.purs)
- - [04 Pattern Matching Using Instance Chains.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/03-Type-Level-Programming-Syntax/src/02-Basic-Syntax/03-Defining-Functions/04-Pattern-Matching-Using-Instance-Chains.purs)
- - [04 Reflection.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/03-Type-Level-Programming-Syntax/src/02-Basic-Syntax/04-Reflection.purs)
- - [05 Reification.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/03-Type-Level-Programming-Syntax/src/02-Basic-Syntax/05-Reification.purs)
- - [10 Conventions.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/03-Type-Level-Programming-Syntax/src/02-Basic-Syntax/10-Conventions.purs)
- - [03 Symbol Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/03-Type-Level-Programming-Syntax/src/03-Symbol-Syntax.purs)
- - [04 Row Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/03-Type-Level-Programming-Syntax/src/04-Row-Syntax.purs)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/03-Type-Level-Programming-Syntax/src/02-Basic-Syntax/03-Defining-Functions/ReadMe.md)
+ - [Solve for X](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/03-Type-Level-Programming-Syntax/src/02-Basic-Syntax/03-Defining-Functions/ReadMe.md#Solve-for-X)
+ - [Unification](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/03-Type-Level-Programming-Syntax/src/02-Basic-Syntax/03-Defining-Functions/ReadMe.md#Unification)
+ - [Functional Dependencies Reexamined](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/03-Type-Level-Programming-Syntax/src/02-Basic-Syntax/03-Defining-Functions/ReadMe.md#Functional-Dependencies-Reexamined)
+ - [Prolog Links](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/03-Type-Level-Programming-Syntax/src/02-Basic-Syntax/03-Defining-Functions/ReadMe.md#Prolog-Links)
+ - [Works Cited](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/03-Type-Level-Programming-Syntax/src/02-Basic-Syntax/03-Defining-Functions/ReadMe.md#Works-Cited)
+ - [01 Single Arg Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/03-Type-Level-Programming-Syntax/src/02-Basic-Syntax/03-Defining-Functions/01-Single-Arg-Syntax.purs)
+ - [02 Multi Arg Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/03-Type-Level-Programming-Syntax/src/02-Basic-Syntax/03-Defining-Functions/02-Multi-Arg-Syntax.purs)
+ - [03 Pattern Matching Using Instances.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/03-Type-Level-Programming-Syntax/src/02-Basic-Syntax/03-Defining-Functions/03-Pattern-Matching-Using-Instances.purs)
+ - [04 Pattern Matching Using Instance Chains.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/03-Type-Level-Programming-Syntax/src/02-Basic-Syntax/03-Defining-Functions/04-Pattern-Matching-Using-Instance-Chains.purs)
+ - [04 Reflection.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/03-Type-Level-Programming-Syntax/src/02-Basic-Syntax/04-Reflection.purs)
+ - [05 Reification.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/03-Type-Level-Programming-Syntax/src/02-Basic-Syntax/05-Reification.purs)
+ - [10 Conventions.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/03-Type-Level-Programming-Syntax/src/02-Basic-Syntax/10-Conventions.purs)
+ - [03 Symbol Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/03-Type-Level-Programming-Syntax/src/03-Symbol-Syntax.purs)
+ - [04 Row Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/03-Type-Level-Programming-Syntax/src/04-Row-Syntax.purs)
- 04 Module Syntax
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/04-Module-Syntax/ReadMe.md)
- - [File Location Conventions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/04-Module-Syntax/ReadMe.md#File-Location-Conventions)
- - [Real World Naming Conventions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/04-Module-Syntax/ReadMe.md#Real-World-Naming-Conventions)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/04-Module-Syntax/ReadMe.md)
+ - [File Location Conventions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/04-Module-Syntax/ReadMe.md#File-Location-Conventions)
+ - [Real World Naming Conventions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/04-Module-Syntax/ReadMe.md#Real-World-Naming-Conventions)
- src
- - [01 Basic Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/04-Module-Syntax/src/01-Basic-Syntax.purs)
- - [02 Basic Exporting.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/04-Module-Syntax/src/02-Basic-Exporting.purs)
- - [03 Basic Importing.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/04-Module-Syntax/src/03-Basic-Importing.purs)
- - [04 Resolving Naming Conflicts Using Keyword: Hiding.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/04-Module-Syntax/src/04-Resolving-Naming-Conflicts-Using-Keyword--Hiding.purs)
- - [04 Resolving Naming Conflicts Using Module Aliases.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/04-Module-Syntax/src/04-Resolving-Naming-Conflicts-Using-Module-Aliases.purs)
- - [05 Re exporting Modules or Submodules.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/04-Module-Syntax/src/05-Re-exporting-Modules-or-Submodules.purs)
- - [06 Exporting Entire Current Module.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/04-Module-Syntax/src/06-Exporting-Entire-Current-Module.purs)
- - [11 Full Module Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/04-Module-Syntax/src/11-Full-Module-Syntax.purs)
+ - [01 Basic Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/04-Module-Syntax/src/01-Basic-Syntax.purs)
+ - [02 Basic Exporting.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/04-Module-Syntax/src/02-Basic-Exporting.purs)
+ - [03 Basic Importing.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/04-Module-Syntax/src/03-Basic-Importing.purs)
+ - [04 Resolving Naming Conflicts Using Keyword: Hiding.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/04-Module-Syntax/src/04-Resolving-Naming-Conflicts-Using-Keyword--Hiding.purs)
+ - [04 Resolving Naming Conflicts Using Module Aliases.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/04-Module-Syntax/src/04-Resolving-Naming-Conflicts-Using-Module-Aliases.purs)
+ - [05 Re exporting Modules or Submodules.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/04-Module-Syntax/src/05-Re-exporting-Modules-or-Submodules.purs)
+ - [06 Exporting Entire Current Module.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/04-Module-Syntax/src/06-Exporting-Entire-Current-Module.purs)
+ - [11 Full Module Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/04-Module-Syntax/src/11-Full-Module-Syntax.purs)
- 05 Prelude Syntax
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/05-Prelude-Syntax/ReadMe.md)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/05-Prelude-Syntax/ReadMe.md)
- src
- - [01 Discard.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/05-Prelude-Syntax/src/01-Discard.md)
- - [02 Do Notation.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/05-Prelude-Syntax/src/02-Do-Notation.purs)
- - [03 Reading Do As Nested Binds.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/05-Prelude-Syntax/src/03-Reading-Do-As-Nested-Binds.md)
- - [04 Ado Notation.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/05-Prelude-Syntax/src/04-Ado-Notation.purs)
- - [05 Natural Transformation.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/05-Prelude-Syntax/src/05-Natural-Transformation.purs)
+ - [01 Discard.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/05-Prelude-Syntax/src/01-Discard.md)
+ - [02 Do Notation.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/05-Prelude-Syntax/src/02-Do-Notation.purs)
+ - [03 Reading Do As Nested Binds.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/05-Prelude-Syntax/src/03-Reading-Do-As-Nested-Binds.md)
+ - [04 Ado Notation.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/05-Prelude-Syntax/src/04-Ado-Notation.purs)
+ - [05 Natural Transformation.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/05-Prelude-Syntax/src/05-Natural-Transformation.purs)
- 06 Modifying Do Ado Syntax Sugar
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/06-Modifying-Do-Ado-Syntax-Sugar/ReadMe.md)
- - [The Problem](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/06-Modifying-Do-Ado-Syntax-Sugar/ReadMe.md#The-Problem)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/06-Modifying-Do-Ado-Syntax-Sugar/ReadMe.md)
+ - [The Problem](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/06-Modifying-Do-Ado-Syntax-Sugar/ReadMe.md#The-Problem)
- src
- - [01 Rebindable Ado.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/06-Modifying-Do-Ado-Syntax-Sugar/src/01-Rebindable-Ado.purs)
- - [01 Rebindable Do.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/06-Modifying-Do-Ado-Syntax-Sugar/src/01-Rebindable-Do.purs)
- - [11 Introducing Qualified Do Ado.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/06-Modifying-Do-Ado-Syntax-Sugar/src/11-Introducing-Qualified-Do-Ado.md)
- - [Possible Readability Issue with Rebindable Do/Ado Notation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/06-Modifying-Do-Ado-Syntax-Sugar/src/11-Introducing-Qualified-Do-Ado.md#Possible-Readability-Issue-with-Rebindable-DoAdo-Notation)
- - [Problems with Rebindable Do/Ado Notation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/06-Modifying-Do-Ado-Syntax-Sugar/src/11-Introducing-Qualified-Do-Ado.md#Problems-with-Rebindable-DoAdo-Notation)
- - [12 MonadLikeTypeClasses.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/06-Modifying-Do-Ado-Syntax-Sugar/src/12-MonadLikeTypeClasses.purs)
- - [13 Qualified Do.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/06-Modifying-Do-Ado-Syntax-Sugar/src/13-Qualified-Do.purs)
- - [14 Qualified Ado.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/11-Syntax/06-Modifying-Do-Ado-Syntax-Sugar/src/14-Qualified-Ado.purs)
+ - [01 Rebindable Ado.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/06-Modifying-Do-Ado-Syntax-Sugar/src/01-Rebindable-Ado.purs)
+ - [01 Rebindable Do.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/06-Modifying-Do-Ado-Syntax-Sugar/src/01-Rebindable-Do.purs)
+ - [11 Introducing Qualified Do Ado.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/06-Modifying-Do-Ado-Syntax-Sugar/src/11-Introducing-Qualified-Do-Ado.md)
+ - [Possible Readability Issue with Rebindable Do/Ado Notation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/06-Modifying-Do-Ado-Syntax-Sugar/src/11-Introducing-Qualified-Do-Ado.md#Possible-Readability-Issue-with-Rebindable-DoAdo-Notation)
+ - [Problems with Rebindable Do/Ado Notation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/06-Modifying-Do-Ado-Syntax-Sugar/src/11-Introducing-Qualified-Do-Ado.md#Problems-with-Rebindable-DoAdo-Notation)
+ - [12 MonadLikeTypeClasses.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/06-Modifying-Do-Ado-Syntax-Sugar/src/12-MonadLikeTypeClasses.purs)
+ - [13 Qualified Do.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/06-Modifying-Do-Ado-Syntax-Sugar/src/13-Qualified-Do.purs)
+ - [14 Qualified Ado.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/11-Syntax/06-Modifying-Do-Ado-Syntax-Sugar/src/14-Qualified-Ado.purs)
## 21 Hello World
-- [Readme.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/Readme.md)
- - [Helpful Links](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/Readme.md#Helpful-Links)
- - [Other Learning Resources](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/Readme.md#Other-Learning-Resources)
- - [Purescript](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/Readme.md#Purescript)
- - [JavaScript](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/Readme.md#JavaScript)
- - [Haskell](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/Readme.md#Haskell)
- - [Miscellaneous Links](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/Readme.md#Miscellaneous-Links)
+- [Readme.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/Readme.md)
+ - [Helpful Links](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/Readme.md#Helpful-Links)
+ - [Other Learning Resources](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/Readme.md#Other-Learning-Resources)
+ - [Purescript](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/Readme.md#Purescript)
+ - [JavaScript](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/Readme.md#JavaScript)
+ - [Haskell](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/Readme.md#Haskell)
+ - [Miscellaneous Links](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/Readme.md#Miscellaneous-Links)
- 02 Prelude ish
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/ReadMe.md)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/ReadMe.md)
- 01 Basic FP Data Types
- - [01 Maybe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/01-Basic-FP-Data-Types/01-Maybe.md)
- - [02 Either and Tuple.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/01-Basic-FP-Data-Types/02-Either-and-Tuple.md)
- - [Either](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/01-Basic-FP-Data-Types/02-Either-and-Tuple.md#Either)
- - [Tuple](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/01-Basic-FP-Data-Types/02-Either-and-Tuple.md#Tuple)
- - [03 List.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/01-Basic-FP-Data-Types/03-List.md)
+ - [01 Maybe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/01-Basic-FP-Data-Types/01-Maybe.md)
+ - [02 Either and Tuple.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/01-Basic-FP-Data-Types/02-Either-and-Tuple.md)
+ - [Either](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/01-Basic-FP-Data-Types/02-Either-and-Tuple.md#Either)
+ - [Tuple](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/01-Basic-FP-Data-Types/02-Either-and-Tuple.md#Tuple)
+ - [03 List.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/01-Basic-FP-Data-Types/03-List.md)
- 02 Prelude
- - [01 Useful Types.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/01-Useful-Types.md)
- - [Void](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/01-Useful-Types.md#Void)
- - [Unit](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/01-Useful-Types.md#Unit)
- - [Natural Transformations](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/01-Useful-Types.md#Natural-Transformations)
- - [02 Useful Functions.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/02-Useful-Functions.md)
- - [Const](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/02-Useful-Functions.md#Const)
- - [Flip](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/02-Useful-Functions.md#Flip)
- - [Apply](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/02-Useful-Functions.md#Apply)
- - [Other Less-Used Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/02-Useful-Functions.md#Other-Less-Used-Functions)
- - [03 Preludes Type Classes.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/03-Preludes-Type-Classes.md)
- - [Relationships](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/03-Preludes-Type-Classes.md#Relationships)
- - [Tricks for Implementing a Type Class Instance](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/03-Preludes-Type-Classes.md#Tricks-for-Implementing-a-Type-Class-Instance)
- - [04 Laws.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/04-Laws.md)
- - [05 Objecty: Show and Equal to Bounded.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/05-Objecty--Show-and-Equal-to-Bounded.md)
- - [Show, Equal, Ord, Bounded](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/05-Objecty--Show-and-Equal-to-Bounded.md#Show-Equal-Ord-Bounded)
- - [Useful Derived Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/05-Objecty--Show-and-Equal-to-Bounded.md#Useful-Derived-Functions)
- - [06 Arrows: Semigroupoid and Category.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/06-Arrows--Semigroupoid-and-Category.md)
- - [Cleaner Function Notation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/06-Arrows--Semigroupoid-and-Category.md#Cleaner-Function-Notation)
- - [Generalizing to More Types](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/06-Arrows--Semigroupoid-and-Category.md#Generalizing-to-More-Types)
- - [07 Appendable: Semigroup to Monoid.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/07-Appendable--Semigroup-to-Monoid.md)
- - [Semigroup](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/07-Appendable--Semigroup-to-Monoid.md#Semigroup)
- - [Examples](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/07-Appendable--Semigroup-to-Monoid.md#Examples)
- - [Monoid](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/07-Appendable--Semigroup-to-Monoid.md#Monoid)
- - [Docs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/07-Appendable--Semigroup-to-Monoid.md#Docs)
+ - [01 Useful Types.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/01-Useful-Types.md)
+ - [Void](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/01-Useful-Types.md#Void)
+ - [Unit](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/01-Useful-Types.md#Unit)
+ - [Natural Transformations](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/01-Useful-Types.md#Natural-Transformations)
+ - [02 Useful Functions.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/02-Useful-Functions.md)
+ - [Const](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/02-Useful-Functions.md#Const)
+ - [Flip](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/02-Useful-Functions.md#Flip)
+ - [Apply](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/02-Useful-Functions.md#Apply)
+ - [Other Less-Used Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/02-Useful-Functions.md#Other-Less-Used-Functions)
+ - [03 Preludes Type Classes.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/03-Preludes-Type-Classes.md)
+ - [Relationships](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/03-Preludes-Type-Classes.md#Relationships)
+ - [Tricks for Implementing a Type Class Instance](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/03-Preludes-Type-Classes.md#Tricks-for-Implementing-a-Type-Class-Instance)
+ - [04 Laws.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/04-Laws.md)
+ - [05 Objecty: Show and Equal to Bounded.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/05-Objecty--Show-and-Equal-to-Bounded.md)
+ - [Show, Equal, Ord, Bounded](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/05-Objecty--Show-and-Equal-to-Bounded.md#Show-Equal-Ord-Bounded)
+ - [Useful Derived Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/05-Objecty--Show-and-Equal-to-Bounded.md#Useful-Derived-Functions)
+ - [06 Arrows: Semigroupoid and Category.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/06-Arrows--Semigroupoid-and-Category.md)
+ - [Cleaner Function Notation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/06-Arrows--Semigroupoid-and-Category.md#Cleaner-Function-Notation)
+ - [Generalizing to More Types](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/06-Arrows--Semigroupoid-and-Category.md#Generalizing-to-More-Types)
+ - [07 Appendable: Semigroup to Monoid.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/07-Appendable--Semigroup-to-Monoid.md)
+ - [Semigroup](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/07-Appendable--Semigroup-to-Monoid.md#Semigroup)
+ - [Examples](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/07-Appendable--Semigroup-to-Monoid.md#Examples)
+ - [Monoid](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/07-Appendable--Semigroup-to-Monoid.md#Monoid)
+ - [Docs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/07-Appendable--Semigroup-to-Monoid.md#Docs)
- 08 Control Flow: Functor to Monad
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/ReadMe.md)
- - [Functor, Apply, and Bind Type Classes Explained in Pictures](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/ReadMe.md#Functor-Apply-and-Bind-Type-Classes-Explained-in-Pictures)
- - [Lists' Map Function in Purescript](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/ReadMe.md#Lists-Map-Function-in-Purescript)
- - [Functor, Apply, Applicative, Bind, Monad](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/ReadMe.md#Functor-Apply-Applicative-Bind-Monad)
- - [Simplest Monad Implementation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/ReadMe.md#Simplest-Monad-Implementation)
- - [Function Reduction](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/ReadMe.md#Function-Reduction)
- - [01 Functor.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/01-Functor.md)
- - [Usage](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/01-Functor.md#Usage)
- - [Definition](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/01-Functor.md#Definition)
- - [Laws](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/01-Functor.md#Laws)
- - [Identity](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/01-Functor.md#Identity)
- - [Composition](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/01-Functor.md#Composition)
- - [Derived Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/01-Functor.md#Derived-Functions)
- - [02 Apply.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/02-Apply.md)
- - [Usage](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/02-Apply.md#Usage)
- - [Definition](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/02-Apply.md#Definition)
- - [Laws](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/02-Apply.md#Laws)
- - [Associative Composition](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/02-Apply.md#Associative-Composition)
- - [Derived Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/02-Apply.md#Derived-Functions)
- - [LiftN Notation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/02-Apply.md#LiftN-Notation)
- - [03 Applicative.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/03-Applicative.md)
- - [Usage](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/03-Applicative.md#Usage)
- - [Definition](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/03-Applicative.md#Definition)
- - [Laws](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/03-Applicative.md#Laws)
- - [Identity](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/03-Applicative.md#Identity)
- - [Composition](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/03-Applicative.md#Composition)
- - [Homomorphism](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/03-Applicative.md#Homomorphism)
- - [Interchange](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/03-Applicative.md#Interchange)
- - [Derived Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/03-Applicative.md#Derived-Functions)
- - [04 Bind.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/04-Bind.md)
- - [Usage](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/04-Bind.md#Usage)
- - [Definition](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/04-Bind.md#Definition)
- - [Laws](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/04-Bind.md#Laws)
- - [Associativity](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/04-Bind.md#Associativity)
- - [Derived Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/04-Bind.md#Derived-Functions)
- - [05 Monad.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/05-Monad.md)
- - [Usage](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/05-Monad.md#Usage)
- - [Definition](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/05-Monad.md#Definition)
- - [Laws](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/05-Monad.md#Laws)
- - [Unofficial](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/05-Monad.md#Unofficial)
- - [Official](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/05-Monad.md#Official)
- - [Identity](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/05-Monad.md#Identity)
- - [Applicative Superclass](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/05-Monad.md#Applicative-Superclass)
- - [Derived Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/05-Monad.md#Derived-Functions)
- - [11 How the Computer Executes FP Programs.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/11-How-the-Computer-Executes-FP-Programs.md)
- - [Do and Ado Notation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/11-How-the-Computer-Executes-FP-Programs.md#Do-and-Ado-Notation)
- - [12 Useful Monads.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/12-Useful-Monads.md)
- - [The Maybe Monad](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/12-Useful-Monads.md#The-Maybe-Monad)
- - [The Either Monad](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/12-Useful-Monads.md#The-Either-Monad)
- - [The List Monad](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/12-Useful-Monads.md#The-List-Monad)
- - [Concluding Thoughts](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/12-Useful-Monads.md#Concluding-Thoughts)
- - [13 Monoids Reconsidered.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/13-Monoids-Reconsidered.md)
- - [14 The Monad Composition Problem.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/14-The-Monad-Composition-Problem.md)
- - [Reducing a Monad Chain into Its Final Value](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/14-The-Monad-Composition-Problem.md#Reducing-a-Monad-Chain-into-Its-Final-Value)
- - [The Problem Defined](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/14-The-Monad-Composition-Problem.md#The-Problem-Defined)
- - [Lifting One Monad into Another](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/14-The-Monad-Composition-Problem.md#Lifting-One-Monad-into-Another)
- - [09 Appendable: Numeric Hierarchy.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/09-Appendable--Numeric-Hierarchy.md)
- - [Docs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/02-Prelude/09-Appendable--Numeric-Hierarchy.md#Docs)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/ReadMe.md)
+ - [Functor, Apply, and Bind Type Classes Explained in Pictures](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/ReadMe.md#Functor-Apply-and-Bind-Type-Classes-Explained-in-Pictures)
+ - [Lists' Map Function in Purescript](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/ReadMe.md#Lists-Map-Function-in-Purescript)
+ - [Functor, Apply, Applicative, Bind, Monad](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/ReadMe.md#Functor-Apply-Applicative-Bind-Monad)
+ - [Simplest Monad Implementation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/ReadMe.md#Simplest-Monad-Implementation)
+ - [Function Reduction](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/ReadMe.md#Function-Reduction)
+ - [01 Functor.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/01-Functor.md)
+ - [Usage](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/01-Functor.md#Usage)
+ - [Definition](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/01-Functor.md#Definition)
+ - [Laws](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/01-Functor.md#Laws)
+ - [Identity](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/01-Functor.md#Identity)
+ - [Composition](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/01-Functor.md#Composition)
+ - [Derived Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/01-Functor.md#Derived-Functions)
+ - [02 Apply.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/02-Apply.md)
+ - [Usage](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/02-Apply.md#Usage)
+ - [Definition](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/02-Apply.md#Definition)
+ - [Laws](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/02-Apply.md#Laws)
+ - [Associative Composition](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/02-Apply.md#Associative-Composition)
+ - [Derived Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/02-Apply.md#Derived-Functions)
+ - [LiftN Notation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/02-Apply.md#LiftN-Notation)
+ - [03 Applicative.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/03-Applicative.md)
+ - [Usage](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/03-Applicative.md#Usage)
+ - [Definition](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/03-Applicative.md#Definition)
+ - [Laws](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/03-Applicative.md#Laws)
+ - [Identity](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/03-Applicative.md#Identity)
+ - [Composition](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/03-Applicative.md#Composition)
+ - [Homomorphism](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/03-Applicative.md#Homomorphism)
+ - [Interchange](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/03-Applicative.md#Interchange)
+ - [Derived Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/03-Applicative.md#Derived-Functions)
+ - [04 Bind.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/04-Bind.md)
+ - [Usage](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/04-Bind.md#Usage)
+ - [Definition](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/04-Bind.md#Definition)
+ - [Laws](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/04-Bind.md#Laws)
+ - [Associativity](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/04-Bind.md#Associativity)
+ - [Derived Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/04-Bind.md#Derived-Functions)
+ - [05 Monad.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/05-Monad.md)
+ - [Usage](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/05-Monad.md#Usage)
+ - [Definition](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/05-Monad.md#Definition)
+ - [Laws](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/05-Monad.md#Laws)
+ - [Unofficial](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/05-Monad.md#Unofficial)
+ - [Official](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/05-Monad.md#Official)
+ - [Identity](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/05-Monad.md#Identity)
+ - [Applicative Superclass](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/05-Monad.md#Applicative-Superclass)
+ - [Derived Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/05-Monad.md#Derived-Functions)
+ - [11 How the Computer Executes FP Programs.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/11-How-the-Computer-Executes-FP-Programs.md)
+ - [Do and Ado Notation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/11-How-the-Computer-Executes-FP-Programs.md#Do-and-Ado-Notation)
+ - [12 Useful Monads.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/12-Useful-Monads.md)
+ - [The Maybe Monad](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/12-Useful-Monads.md#The-Maybe-Monad)
+ - [The Either Monad](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/12-Useful-Monads.md#The-Either-Monad)
+ - [The List Monad](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/12-Useful-Monads.md#The-List-Monad)
+ - [Concluding Thoughts](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/12-Useful-Monads.md#Concluding-Thoughts)
+ - [13 Monoids Reconsidered.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/13-Monoids-Reconsidered.md)
+ - [14 The Monad Composition Problem.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/14-The-Monad-Composition-Problem.md)
+ - [Reducing a Monad Chain into Its Final Value](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/14-The-Monad-Composition-Problem.md#Reducing-a-Monad-Chain-into-Its-Final-Value)
+ - [The Problem Defined](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/14-The-Monad-Composition-Problem.md#The-Problem-Defined)
+ - [Lifting One Monad into Another](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/08-Control-Flow--Functor-to-Monad/14-The-Monad-Composition-Problem.md#Lifting-One-Monad-into-Another)
+ - [09 Appendable: Numeric Hierarchy.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/09-Appendable--Numeric-Hierarchy.md)
+ - [Docs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/02-Prelude/09-Appendable--Numeric-Hierarchy.md#Docs)
- 03 Foldable Traversable
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/03-Foldable-Traversable/ReadMe.md)
- - [01 Foldable.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/03-Foldable-Traversable/01-Foldable.md)
- - [Usage](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/03-Foldable-Traversable/01-Foldable.md#Usage)
- - [Definition](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/03-Foldable-Traversable/01-Foldable.md#Definition)
- - [Laws](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/03-Foldable-Traversable/01-Foldable.md#Laws)
- - [Derived Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/03-Foldable-Traversable/01-Foldable.md#Derived-Functions)
- - [02 Traversable.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/03-Foldable-Traversable/02-Traversable.md)
- - [Usage](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/03-Foldable-Traversable/02-Traversable.md#Usage)
- - [Definition](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/03-Foldable-Traversable/02-Traversable.md#Definition)
- - [Laws](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/03-Foldable-Traversable/02-Traversable.md#Laws)
- - [Derived Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/02-Prelude-ish/03-Foldable-Traversable/02-Traversable.md#Derived-Functions)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/03-Foldable-Traversable/ReadMe.md)
+ - [01 Foldable.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/03-Foldable-Traversable/01-Foldable.md)
+ - [Usage](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/03-Foldable-Traversable/01-Foldable.md#Usage)
+ - [Definition](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/03-Foldable-Traversable/01-Foldable.md#Definition)
+ - [Laws](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/03-Foldable-Traversable/01-Foldable.md#Laws)
+ - [Derived Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/03-Foldable-Traversable/01-Foldable.md#Derived-Functions)
+ - [02 Traversable.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/03-Foldable-Traversable/02-Traversable.md)
+ - [Usage](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/03-Foldable-Traversable/02-Traversable.md#Usage)
+ - [Definition](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/03-Foldable-Traversable/02-Traversable.md#Definition)
+ - [Laws](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/03-Foldable-Traversable/02-Traversable.md#Laws)
+ - [Derived Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/02-Prelude-ish/03-Foldable-Traversable/02-Traversable.md#Derived-Functions)
- 03 Effect and Aff
- - [Readme.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/Readme.md)
- - [REPL](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/Readme.md#REPL)
- - [Compilation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/Readme.md#Compilation)
- - [Effect Folder](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/Readme.md#Effect-Folder)
- - [Aff Folder](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/Readme.md#Aff-Folder)
+ - [Readme.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/Readme.md)
+ - [REPL](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/Readme.md#REPL)
+ - [Compilation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/Readme.md#Compilation)
+ - [Effect Folder](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/Readme.md#Effect-Folder)
+ - [Aff Folder](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/Readme.md#Aff-Folder)
- src
- 01 Effect
- - [01 Native Side Effects via Effect.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/01-Effect/01-Native-Side-Effects-via-Effect.md)
- - [The Effect Monad](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/01-Effect/01-Native-Side-Effects-via-Effect.md#The-Effect-Monad)
- - [Understanding the Effect Monad](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/01-Effect/01-Native-Side-Effects-via-Effect.md#Understanding-the-Effect-Monad)
- - [Main: A Program's Entry Point](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/01-Effect/01-Native-Side-Effects-via-Effect.md#Main-A-Programs-Entry-Point)
- - [02 Hello World.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/01-Effect/02-Hello-World.purs)
- - [03 Hello Number.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/01-Effect/03-Hello-Number.purs)
- - [04 Hello Do Notation.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/01-Effect/04-Hello-Do-Notation.purs)
+ - [01 Native Side Effects via Effect.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/01-Effect/01-Native-Side-Effects-via-Effect.md)
+ - [The Effect Monad](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/01-Effect/01-Native-Side-Effects-via-Effect.md#The-Effect-Monad)
+ - [Understanding the Effect Monad](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/01-Effect/01-Native-Side-Effects-via-Effect.md#Understanding-the-Effect-Monad)
+ - [Main: A Program's Entry Point](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/01-Effect/01-Native-Side-Effects-via-Effect.md#Main-A-Programs-Entry-Point)
+ - [02 Hello World.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/01-Effect/02-Hello-World.purs)
+ - [03 Hello Number.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/01-Effect/03-Hello-Number.purs)
+ - [04 Hello Do Notation.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/01-Effect/04-Hello-Do-Notation.purs)
- 05 Other Effects
- - [01 Random Number.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/01-Effect/05-Other-Effects/01-Random-Number.purs)
- - [02 Current Date and Time.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/01-Effect/05-Other-Effects/02-Current-Date-and-Time.purs)
- - [03 Timeout and Interval.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/01-Effect/05-Other-Effects/03-Timeout-and-Interval.purs)
+ - [01 Random Number.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/01-Effect/05-Other-Effects/01-Random-Number.purs)
+ - [02 Current Date and Time.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/01-Effect/05-Other-Effects/02-Current-Date-and-Time.purs)
+ - [03 Timeout and Interval.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/01-Effect/05-Other-Effects/03-Timeout-and-Interval.purs)
- 06 Mutable State
- - [Readme.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/01-Effect/06-Mutable-State/Readme.md)
- - [01 Global.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/01-Effect/06-Mutable-State/01-Global.purs)
- - [02 Local.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/01-Effect/06-Mutable-State/02-Local.purs)
- - [10 Summary of Effect Libraries.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/01-Effect/10-Summary-of-Effect-Libraries.md)
- - [Summary of Effect Libraries](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/01-Effect/10-Summary-of-Effect-Libraries.md#Summary-of-Effect-Libraries)
- - [02 Effect Eff and Aff.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/02-Effect-Eff-and-Aff.md)
- - [Some History](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/02-Effect-Eff-and-Aff.md#Some-History)
- - [Aff](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/02-Effect-Eff-and-Aff.md#Aff)
+ - [Readme.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/01-Effect/06-Mutable-State/Readme.md)
+ - [01 Global.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/01-Effect/06-Mutable-State/01-Global.purs)
+ - [02 Local.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/01-Effect/06-Mutable-State/02-Local.purs)
+ - [10 Summary of Effect Libraries.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/01-Effect/10-Summary-of-Effect-Libraries.md)
+ - [Summary of Effect Libraries](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/01-Effect/10-Summary-of-Effect-Libraries.md#Summary-of-Effect-Libraries)
+ - [02 Effect Eff and Aff.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/02-Effect-Eff-and-Aff.md)
+ - [Some History](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/02-Effect-Eff-and-Aff.md#Some-History)
+ - [Aff](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/02-Effect-Eff-and-Aff.md#Aff)
- 03 Aff
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/03-Aff/ReadMe.md)
- - [Folder's Contents](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/03-Aff/ReadMe.md#Folders-Contents)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/03-Aff/ReadMe.md)
+ - [Folder's Contents](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/03-Aff/ReadMe.md#Folders-Contents)
- 01 Basics
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/03-Aff/01-Basics/ReadMe.md)
- - [01 Launching Aff.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/03-Aff/01-Basics/01-Launching-Aff.purs)
- - [02 Delay.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/03-Aff/01-Basics/02-Delay.purs)
- - [03 Fork Join.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/03-Aff/01-Basics/03-Fork-Join.purs)
- - [04 Suspend Join.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/03-Aff/01-Basics/04-Suspend-Join.purs)
- - [05 Cached Join.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/03-Aff/01-Basics/05-Cached-Join.purs)
- - [06 Switching Contexts.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/03-Aff/01-Basics/06-Switching-Contexts.purs)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/03-Aff/01-Basics/ReadMe.md)
+ - [01 Launching Aff.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/03-Aff/01-Basics/01-Launching-Aff.purs)
+ - [02 Delay.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/03-Aff/01-Basics/02-Delay.purs)
+ - [03 Fork Join.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/03-Aff/01-Basics/03-Fork-Join.purs)
+ - [04 Suspend Join.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/03-Aff/01-Basics/04-Suspend-Join.purs)
+ - [05 Cached Join.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/03-Aff/01-Basics/05-Cached-Join.purs)
+ - [06 Switching Contexts.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/03-Aff/01-Basics/06-Switching-Contexts.purs)
- 02 Lifting Monads
- - [01 MonadEffect.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/03-Aff/02-Lifting-Monads/01-MonadEffect.md)
- - [Lifting one Monad into another](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/03-Aff/02-Lifting-Monads/01-MonadEffect.md#Lifting-one-Monad-into-another)
- - [MonadEffect](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/03-Aff/02-Lifting-Monads/01-MonadEffect.md#MonadEffect)
- - [02 SpecialLog.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/03-Aff/02-Lifting-Monads/02-SpecialLog.purs)
- - [03 Timeout and Interval.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/03-Aff/02-Lifting-Monads/03-Timeout-and-Interval.purs)
+ - [01 MonadEffect.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/03-Aff/02-Lifting-Monads/01-MonadEffect.md)
+ - [Lifting one Monad into another](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/03-Aff/02-Lifting-Monads/01-MonadEffect.md#Lifting-one-Monad-into-another)
+ - [MonadEffect](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/03-Aff/02-Lifting-Monads/01-MonadEffect.md#MonadEffect)
+ - [02 SpecialLog.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/03-Aff/02-Lifting-Monads/02-SpecialLog.purs)
+ - [03 Timeout and Interval.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/03-Aff/02-Lifting-Monads/03-Timeout-and-Interval.purs)
- 03 Node ReadLine
- - [01 Readline API.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/03-Aff/03-Node-ReadLine/01-Readline-API.md)
- - [02 ReadLine Effect.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/03-Aff/03-Node-ReadLine/02-ReadLine-Effect.purs)
- - [03 Converting Effects with Callbacks into Aff.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/03-Aff/03-Node-ReadLine/03-Converting-Effects-with-Callbacks-into-Aff.md)
- - [Aff Overview](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/03-Aff/03-Node-ReadLine/03-Converting-Effects-with-Callbacks-into-Aff.md#Aff-Overview)
- - [Understanding `runAff`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/03-Aff/03-Node-ReadLine/03-Converting-Effects-with-Callbacks-into-Aff.md#Understanding-runAff)
- - [Understanding `makeAff`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/03-Aff/03-Node-ReadLine/03-Converting-Effects-with-Callbacks-into-Aff.md#Understanding-makeAff)
- - [04 ReadLine Aff.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/03-Aff/03-Node-ReadLine/04-ReadLine-Aff.purs)
- - [04 Useful Aff Libraries.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/03-Aff/04-Useful-Aff-Libraries.md)
- - [Based on Aff](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/03-Aff/04-Useful-Aff-Libraries.md#Based-on-Aff)
- - [Aff Wrappers Around Node](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/03-Effect-and-Aff/src/03-Aff/04-Useful-Aff-Libraries.md#Aff-Wrappers-Around-Node)
+ - [01 Readline API.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/03-Aff/03-Node-ReadLine/01-Readline-API.md)
+ - [02 ReadLine Effect.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/03-Aff/03-Node-ReadLine/02-ReadLine-Effect.purs)
+ - [03 Converting Effects with Callbacks into Aff.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/03-Aff/03-Node-ReadLine/03-Converting-Effects-with-Callbacks-into-Aff.md)
+ - [Aff Overview](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/03-Aff/03-Node-ReadLine/03-Converting-Effects-with-Callbacks-into-Aff.md#Aff-Overview)
+ - [Understanding `runAff`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/03-Aff/03-Node-ReadLine/03-Converting-Effects-with-Callbacks-into-Aff.md#Understanding-runAff)
+ - [Understanding `makeAff`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/03-Aff/03-Node-ReadLine/03-Converting-Effects-with-Callbacks-into-Aff.md#Understanding-makeAff)
+ - [04 ReadLine Aff.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/03-Aff/03-Node-ReadLine/04-ReadLine-Aff.purs)
+ - [04 Useful Aff Libraries.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/03-Aff/04-Useful-Aff-Libraries.md)
+ - [Based on Aff](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/03-Aff/04-Useful-Aff-Libraries.md#Based-on-Aff)
+ - [Aff Wrappers Around Node](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/03-Effect-and-Aff/src/03-Aff/04-Useful-Aff-Libraries.md#Aff-Wrappers-Around-Node)
- 04 Debugging
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/04-Debugging/ReadMe.md)
- - [Running The Lessons](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/04-Debugging/ReadMe.md#Running-The-Lessons)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/04-Debugging/ReadMe.md)
+ - [Running The Lessons](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/04-Debugging/ReadMe.md#Running-The-Lessons)
- src
- - [01 General Debugging.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/04-Debugging/src/01-General-Debugging.md)
- - [There is currently no "Actual Type / Expected Type" distinction](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/04-Debugging/src/01-General-Debugging.md#There-is-currently-no-Actual-Type--Expected-Type-distinction)
- - [Distinguishing the Difference between `{...}` and `(...)` errors](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/04-Debugging/src/01-General-Debugging.md#Distinguishing-the-Difference-between--and--errors)
- - [Type Directed Search](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/04-Debugging/src/01-General-Debugging.md#Type-Directed-Search)
- - [Getting the Type of an Expression from the Compiler](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/04-Debugging/src/01-General-Debugging.md#Getting-the-Type-of-an-Expression-from-the-Compiler)
- - [Getting the Type of a Function from the Compiler](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/04-Debugging/src/01-General-Debugging.md#Getting-the-Type-of-a-Function-from-the-Compiler)
- - [Determining why a type was inferred incorrectly](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/04-Debugging/src/01-General-Debugging.md#Determining-why-a-type-was-inferred-incorrectly)
- - [Could not match type `Monad` with type `Function (Argument -> Monad a)`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/04-Debugging/src/01-General-Debugging.md#Could-not-match-type-Monad-with-type-Function-Argument---Monad-a)
- - [Improve Error Messages when using `unsafePartial` to un-Partial Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/04-Debugging/src/01-General-Debugging.md#Improve-Error-Messages-when-using-unsafePartial-to-un-Partial-Functions)
+ - [01 General Debugging.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/04-Debugging/src/01-General-Debugging.md)
+ - [There is currently no "Actual Type / Expected Type" distinction](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/04-Debugging/src/01-General-Debugging.md#There-is-currently-no-Actual-Type--Expected-Type-distinction)
+ - [Distinguishing the Difference between `{...}` and `(...)` errors](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/04-Debugging/src/01-General-Debugging.md#Distinguishing-the-Difference-between--and--errors)
+ - [Type Directed Search](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/04-Debugging/src/01-General-Debugging.md#Type-Directed-Search)
+ - [Getting the Type of an Expression from the Compiler](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/04-Debugging/src/01-General-Debugging.md#Getting-the-Type-of-an-Expression-from-the-Compiler)
+ - [Getting the Type of a Function from the Compiler](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/04-Debugging/src/01-General-Debugging.md#Getting-the-Type-of-a-Function-from-the-Compiler)
+ - [Determining why a type was inferred incorrectly](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/04-Debugging/src/01-General-Debugging.md#Determining-why-a-type-was-inferred-incorrectly)
+ - [Could not match type `Monad` with type `Function (Argument -> Monad a)`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/04-Debugging/src/01-General-Debugging.md#Could-not-match-type-Monad-with-type-Function-Argument---Monad-a)
+ - [Improve Error Messages when using `unsafePartial` to un-Partial Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/04-Debugging/src/01-General-Debugging.md#Improve-Error-Messages-when-using-unsafePartial-to-un-Partial-Functions)
- 02 Custom Type Errors
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/04-Debugging/src/02-Custom-Type-Errors/ReadMe.md)
- - [Pre-reqs for This Folder](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/04-Debugging/src/02-Custom-Type-Errors/ReadMe.md#Pre-reqs-for-This-Folder)
- - [Scope of This Folder](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/04-Debugging/src/02-Custom-Type-Errors/ReadMe.md#Scope-of-This-Folder)
- - [01 Overview API.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/04-Debugging/src/02-Custom-Type-Errors/01-Overview-API.purs)
- - [02 Values.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/04-Debugging/src/02-Custom-Type-Errors/02-Values.purs)
- - [03 Functions.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/04-Debugging/src/02-Custom-Type-Errors/03-Functions.purs)
- - [04 Type Class Instances.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/04-Debugging/src/02-Custom-Type-Errors/04-Type-Class-Instances.purs)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/04-Debugging/src/02-Custom-Type-Errors/ReadMe.md)
+ - [Pre-reqs for This Folder](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/04-Debugging/src/02-Custom-Type-Errors/ReadMe.md#Pre-reqs-for-This-Folder)
+ - [Scope of This Folder](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/04-Debugging/src/02-Custom-Type-Errors/ReadMe.md#Scope-of-This-Folder)
+ - [01 Overview API.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/04-Debugging/src/02-Custom-Type-Errors/01-Overview-API.purs)
+ - [02 Values.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/04-Debugging/src/02-Custom-Type-Errors/02-Values.purs)
+ - [03 Functions.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/04-Debugging/src/02-Custom-Type-Errors/03-Functions.purs)
+ - [04 Type Class Instances.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/04-Debugging/src/02-Custom-Type-Errors/04-Type-Class-Instances.purs)
- 03 Debug Trace
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/04-Debugging/src/03-Debug-Trace/ReadMe.md)
- - [Compilation Instructions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/04-Debugging/src/03-Debug-Trace/ReadMe.md#Compilation-Instructions)
- - [Seeing the Custom Type Errors](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/04-Debugging/src/03-Debug-Trace/ReadMe.md#Seeing-the-Custom-Type-Errors)
- - [Running the Examples](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/04-Debugging/src/03-Debug-Trace/ReadMe.md#Running-the-Examples)
- - [01 Debug Trace.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/04-Debugging/src/03-Debug-Trace/01-Debug-Trace.purs)
- - [02 DebugWarning.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/04-Debugging/src/03-Debug-Trace/02-DebugWarning.md)
- - [03 Local State.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/04-Debugging/src/03-Debug-Trace/03-Local-State.purs)
- - [04 Console Based Debugging.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/04-Debugging/src/04-Console-Based-Debugging.md)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/04-Debugging/src/03-Debug-Trace/ReadMe.md)
+ - [Compilation Instructions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/04-Debugging/src/03-Debug-Trace/ReadMe.md#Compilation-Instructions)
+ - [Seeing the Custom Type Errors](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/04-Debugging/src/03-Debug-Trace/ReadMe.md#Seeing-the-Custom-Type-Errors)
+ - [Running the Examples](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/04-Debugging/src/03-Debug-Trace/ReadMe.md#Running-the-Examples)
+ - [01 Debug Trace.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/04-Debugging/src/03-Debug-Trace/01-Debug-Trace.purs)
+ - [02 DebugWarning.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/04-Debugging/src/03-Debug-Trace/02-DebugWarning.md)
+ - [03 Local State.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/04-Debugging/src/03-Debug-Trace/03-Local-State.purs)
+ - [04 Console Based Debugging.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/04-Debugging/src/04-Console-Based-Debugging.md)
- 05 Application Structure
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/ReadMe.md)
- - [A Word of Thanks](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/ReadMe.md#A-Word-of-Thanks)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/ReadMe.md)
+ - [A Word of Thanks](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/ReadMe.md#A-Word-of-Thanks)
- src
- - [00 A Bad Program.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/00-A-Bad-Program.purs)
- - [01 Monads and Effects.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/01-Monads-and-Effects.md)
- - [Effects / Capabilities](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/01-Monads-and-Effects.md#Effects--Capabilities)
- - [Examples of Effects / Capabilities](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/01-Monads-and-Effects.md#Examples-of-Effects--Capabilities)
- - [Modeling Effects](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/01-Monads-and-Effects.md#Modeling-Effects)
- - [Composing Monads](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/01-Monads-and-Effects.md#Composing-Monads)
- - [MTL Approach](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/01-Monads-and-Effects.md#MTL-Approach)
- - [Free](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/01-Monads-and-Effects.md#Free)
+ - [00 A Bad Program.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/00-A-Bad-Program.purs)
+ - [01 Monads and Effects.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/01-Monads-and-Effects.md)
+ - [Effects / Capabilities](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/01-Monads-and-Effects.md#Effects--Capabilities)
+ - [Examples of Effects / Capabilities](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/01-Monads-and-Effects.md#Examples-of-Effects--Capabilities)
+ - [Modeling Effects](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/01-Monads-and-Effects.md#Modeling-Effects)
+ - [Composing Monads](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/01-Monads-and-Effects.md#Composing-Monads)
+ - [MTL Approach](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/01-Monads-and-Effects.md#MTL-Approach)
+ - [Free](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/01-Monads-and-Effects.md#Free)
- 02 MTL
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/ReadMe.md)
- - [Explaining the Name](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/ReadMe.md#Explaining-the-Name)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/ReadMe.md)
+ - [Explaining the Name](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/ReadMe.md#Explaining-the-Name)
- 01 Foundations.md
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/ReadMe.md)
- - [Folder's Contents](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/ReadMe.md#Folders-Contents)
- - [01 The Function Monad.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md)
- - [A Refresher on Monads](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#A-Refresher-on-Monads)
- - [Reviewing `Function` as a Data Type](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#Reviewing-Function-as-a-Data-Type)
- - [Implementing the `Monad` Type Class Hierarchy's Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#Implementing-the-Monad-Type-Class-Hierarchys-Functions)
- - [Functor](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#Functor)
- - [Initial Problems](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#Initial-Problems)
- - [Implementing `map`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#Implementing-map)
- - [Takeaways](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#Takeaways)
- - [Apply](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#Apply)
- - [Initial Problems](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#Initial-Problems)
- - [Implementing `apply`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#Implementing-apply)
- - [Takeaways](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#Takeaways)
- - [Applicative](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#Applicative)
- - [Bind](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#Bind)
- - [Implementing `bind`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#Implementing-bind)
- - [Summary of Our Takeaways](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#Summary-of-Our-Takeaways)
- - [Resugaring `Function`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#Resugaring-Function)
- - [02 Do Notation for Monadic Functions.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/02-Do-Notation-for-Monadic-Functions.md)
- - [Function Implementations](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/02-Do-Notation-for-Monadic-Functions.md#Function-Implementations)
- - [Example 1: `pure`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/02-Do-Notation-for-Monadic-Functions.md#Example-1-pure)
- - [Example 2: single `bind`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/02-Do-Notation-for-Monadic-Functions.md#Example-2-single-bind)
- - [Example 3: multiple `bind`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/02-Do-Notation-for-Monadic-Functions.md#Example-3-multiple-bind)
- - [03 Special Output.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/03-Special-Output.md)
- - [Newtyping our `Function`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/03-Special-Output.md#Newtyping-our-Function)
- - [Functor](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/03-Special-Output.md#Functor)
- - [Implementing `map`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/03-Special-Output.md#Implementing-map)
- - [Takeaways](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/03-Special-Output.md#Takeaways)
- - [Apply](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/03-Special-Output.md#Apply)
- - [Takeaways](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/03-Special-Output.md#Takeaways)
- - [Applicative](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/03-Special-Output.md#Applicative)
- - [Bind](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/03-Special-Output.md#Bind)
- - [Generalizing `Box` to any `Monad`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/03-Special-Output.md#Generalizing-Box-to-any-Monad)
- - [04 Introducing Monad Transformers.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/04-Introducing-Monad-Transformers.md)
- - [Comparing `Function input output` to `OutputBox input output`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/04-Introducing-Monad-Transformers.md#Comparing-Function-input-output-to-OutputBox-input-output)
- - [Introducing `ReaderT`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/04-Introducing-Monad-Transformers.md#Introducing-ReaderT)
- - [Monad Transformers Summarized](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/04-Introducing-Monad-Transformers.md#Monad-Transformers-Summarized)
- - [The Main Idea](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/04-Introducing-Monad-Transformers.md#The-Main-Idea)
- - [Breaking It Down](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/04-Introducing-Monad-Transformers.md#Breaking-It-Down)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/ReadMe.md)
+ - [Folder's Contents](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/ReadMe.md#Folders-Contents)
+ - [01 The Function Monad.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md)
+ - [A Refresher on Monads](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#A-Refresher-on-Monads)
+ - [Reviewing `Function` as a Data Type](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#Reviewing-Function-as-a-Data-Type)
+ - [Implementing the `Monad` Type Class Hierarchy's Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#Implementing-the-Monad-Type-Class-Hierarchys-Functions)
+ - [Functor](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#Functor)
+ - [Initial Problems](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#Initial-Problems)
+ - [Implementing `map`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#Implementing-map)
+ - [Takeaways](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#Takeaways)
+ - [Apply](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#Apply)
+ - [Initial Problems](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#Initial-Problems)
+ - [Implementing `apply`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#Implementing-apply)
+ - [Takeaways](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#Takeaways)
+ - [Applicative](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#Applicative)
+ - [Bind](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#Bind)
+ - [Implementing `bind`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#Implementing-bind)
+ - [Summary of Our Takeaways](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#Summary-of-Our-Takeaways)
+ - [Resugaring `Function`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/01-The-Function-Monad.md#Resugaring-Function)
+ - [02 Do Notation for Monadic Functions.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/02-Do-Notation-for-Monadic-Functions.md)
+ - [Function Implementations](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/02-Do-Notation-for-Monadic-Functions.md#Function-Implementations)
+ - [Example 1: `pure`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/02-Do-Notation-for-Monadic-Functions.md#Example-1-pure)
+ - [Example 2: single `bind`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/02-Do-Notation-for-Monadic-Functions.md#Example-2-single-bind)
+ - [Example 3: multiple `bind`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/02-Do-Notation-for-Monadic-Functions.md#Example-3-multiple-bind)
+ - [03 Special Output.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/03-Special-Output.md)
+ - [Newtyping our `Function`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/03-Special-Output.md#Newtyping-our-Function)
+ - [Functor](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/03-Special-Output.md#Functor)
+ - [Implementing `map`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/03-Special-Output.md#Implementing-map)
+ - [Takeaways](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/03-Special-Output.md#Takeaways)
+ - [Apply](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/03-Special-Output.md#Apply)
+ - [Takeaways](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/03-Special-Output.md#Takeaways)
+ - [Applicative](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/03-Special-Output.md#Applicative)
+ - [Bind](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/03-Special-Output.md#Bind)
+ - [Generalizing `Box` to any `Monad`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/03-Special-Output.md#Generalizing-Box-to-any-Monad)
+ - [04 Introducing Monad Transformers.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/04-Introducing-Monad-Transformers.md)
+ - [Comparing `Function input output` to `OutputBox input output`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/04-Introducing-Monad-Transformers.md#Comparing-Function-input-output-to-OutputBox-input-output)
+ - [Introducing `ReaderT`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/04-Introducing-Monad-Transformers.md#Introducing-ReaderT)
+ - [Monad Transformers Summarized](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/04-Introducing-Monad-Transformers.md#Monad-Transformers-Summarized)
+ - [The Main Idea](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/04-Introducing-Monad-Transformers.md#The-Main-Idea)
+ - [Breaking It Down](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/01-Foundations.md/04-Introducing-Monad-Transformers.md#Breaking-It-Down)
- 02 Implementing a Monad Transformer
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/ReadMe.md)
- - [01 Looking at OO for a Pattern.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/01-Looking-at-OO-for-a-Pattern.md)
- - [Incrementing an Integer](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/01-Looking-at-OO-for-a-Pattern.md#Incrementing-an-Integer)
- - [Random Number Generators](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/01-Looking-at-OO-for-a-Pattern.md#Random-Number-Generators)
- - [Popping Stacks](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/01-Looking-at-OO-for-a-Pattern.md#Popping-Stacks)
- - [Identifying the Pattern](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/01-Looking-at-OO-for-a-Pattern.md#Identifying-the-Pattern)
- - [02 Implementing the Pattern.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/02-Implementing-the-Pattern.md)
- - [Syntax Familiarity](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/02-Implementing-the-Pattern.md#Syntax-Familiarity)
- - [Why We Need a Monad](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/02-Implementing-the-Pattern.md#Why-We-Need-a-Monad)
- - [The `Identity` Monad](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/02-Implementing-the-Pattern.md#The-Identity-Monad)
- - [The Syntax Problem](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/02-Implementing-the-Pattern.md#The-Syntax-Problem)
- - [Abstracting the Concept into a Type Class](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/02-Implementing-the-Pattern.md#Abstracting-the-Concept-into-a-Type-Class)
- - [03 A Magical Monad.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/03-A-Magical-Monad.md)
- - [Introducing the Function Monad](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/03-A-Magical-Monad.md#Introducing-the-Function-Monad)
- - [Monadic Instances](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/03-A-Magical-Monad.md#Monadic-Instances)
- - [Functor](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/03-A-Magical-Monad.md#Functor)
- - [Apply](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/03-A-Magical-Monad.md#Apply)
- - [Applicative](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/03-A-Magical-Monad.md#Applicative)
- - [Bind & Monad](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/03-A-Magical-Monad.md#Bind--Monad)
- - [MonadState](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/03-A-Magical-Monad.md#MonadState)
- - [FAABM Using Bind](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/03-A-Magical-Monad.md#FAABM-Using-Bind)
- - [Reviewing StateT's Bind Instance](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/03-A-Magical-Monad.md#Reviewing-StateTs-Bind-Instance)
- - [04 Proving the Syntax.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/04-Proving-the-Syntax.md)
- - [Reading StateT Do Notation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/04-Proving-the-Syntax.md#Reading-StateT-Do-Notation)
- - [Reducing a StateT's Do Notation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/04-Proving-the-Syntax.md#Reducing-a-StateTs-Do-Notation)
- - [Running a StateT with an Initial Value](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/04-Proving-the-Syntax.md#Running-a-StateT-with-an-Initial-Value)
- - [Reducing a `runStateT` Call](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/04-Proving-the-Syntax.md#Reducing-a-runStateT-Call)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/ReadMe.md)
+ - [01 Looking at OO for a Pattern.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/01-Looking-at-OO-for-a-Pattern.md)
+ - [Incrementing an Integer](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/01-Looking-at-OO-for-a-Pattern.md#Incrementing-an-Integer)
+ - [Random Number Generators](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/01-Looking-at-OO-for-a-Pattern.md#Random-Number-Generators)
+ - [Popping Stacks](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/01-Looking-at-OO-for-a-Pattern.md#Popping-Stacks)
+ - [Identifying the Pattern](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/01-Looking-at-OO-for-a-Pattern.md#Identifying-the-Pattern)
+ - [02 Implementing the Pattern.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/02-Implementing-the-Pattern.md)
+ - [Syntax Familiarity](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/02-Implementing-the-Pattern.md#Syntax-Familiarity)
+ - [Why We Need a Monad](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/02-Implementing-the-Pattern.md#Why-We-Need-a-Monad)
+ - [The `Identity` Monad](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/02-Implementing-the-Pattern.md#The-Identity-Monad)
+ - [The Syntax Problem](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/02-Implementing-the-Pattern.md#The-Syntax-Problem)
+ - [Abstracting the Concept into a Type Class](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/02-Implementing-the-Pattern.md#Abstracting-the-Concept-into-a-Type-Class)
+ - [03 A Magical Monad.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/03-A-Magical-Monad.md)
+ - [Introducing the Function Monad](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/03-A-Magical-Monad.md#Introducing-the-Function-Monad)
+ - [Monadic Instances](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/03-A-Magical-Monad.md#Monadic-Instances)
+ - [Functor](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/03-A-Magical-Monad.md#Functor)
+ - [Apply](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/03-A-Magical-Monad.md#Apply)
+ - [Applicative](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/03-A-Magical-Monad.md#Applicative)
+ - [Bind & Monad](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/03-A-Magical-Monad.md#Bind--Monad)
+ - [MonadState](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/03-A-Magical-Monad.md#MonadState)
+ - [FAABM Using Bind](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/03-A-Magical-Monad.md#FAABM-Using-Bind)
+ - [Reviewing StateT's Bind Instance](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/03-A-Magical-Monad.md#Reviewing-StateTs-Bind-Instance)
+ - [04 Proving the Syntax.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/04-Proving-the-Syntax.md)
+ - [Reading StateT Do Notation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/04-Proving-the-Syntax.md#Reading-StateT-Do-Notation)
+ - [Reducing a StateT's Do Notation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/04-Proving-the-Syntax.md#Reducing-a-StateTs-Do-Notation)
+ - [Running a StateT with an Initial Value](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/04-Proving-the-Syntax.md#Running-a-StateT-with-an-Initial-Value)
+ - [Reducing a `runStateT` Call](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/02-Implementing-a-Monad-Transformer/04-Proving-the-Syntax.md#Reducing-a-runStateT-Call)
- 11 Ask and Reader
- - [01 Overview.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/11-Ask-and-Reader/01-Overview.md)
- - [Monad Reader](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/11-Ask-and-Reader/01-Overview.md#Monad-Reader)
- - [Do Notation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/11-Ask-and-Reader/01-Overview.md#Do-Notation)
- - [MonadReader](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/11-Ask-and-Reader/01-Overview.md#MonadReader)
- - [Derived Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/11-Ask-and-Reader/01-Overview.md#Derived-Functions)
- - [Laws, Instances, and Miscellaneous Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/11-Ask-and-Reader/01-Overview.md#Laws-Instances-and-Miscellaneous-Functions)
- - [02 Monad Ask Example.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/11-Ask-and-Reader/02-Monad-Ask-Example.purs)
- - [03 Monad Reader Example.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/11-Ask-and-Reader/03-Monad-Reader-Example.purs)
+ - [01 Overview.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/11-Ask-and-Reader/01-Overview.md)
+ - [Monad Reader](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/11-Ask-and-Reader/01-Overview.md#Monad-Reader)
+ - [Do Notation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/11-Ask-and-Reader/01-Overview.md#Do-Notation)
+ - [MonadReader](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/11-Ask-and-Reader/01-Overview.md#MonadReader)
+ - [Derived Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/11-Ask-and-Reader/01-Overview.md#Derived-Functions)
+ - [Laws, Instances, and Miscellaneous Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/11-Ask-and-Reader/01-Overview.md#Laws-Instances-and-Miscellaneous-Functions)
+ - [02 Monad Ask Example.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/11-Ask-and-Reader/02-Monad-Ask-Example.purs)
+ - [03 Monad Reader Example.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/11-Ask-and-Reader/03-Monad-Reader-Example.purs)
- 12 Monad State
- - [01 Monad State.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/12-Monad-State/01-Monad-State.md)
- - [Reading Its Do Notation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/12-Monad-State/01-Monad-State.md#Reading-Its-Do-Notation)
- - [Derived Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/12-Monad-State/01-Monad-State.md#Derived-Functions)
- - [Laws, Instances, and Miscellaneous Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/12-Monad-State/01-Monad-State.md#Laws-Instances-and-Miscellaneous-Functions)
- - [02 Monad State Example.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/12-Monad-State/02-Monad-State-Example.purs)
+ - [01 Monad State.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/12-Monad-State/01-Monad-State.md)
+ - [Reading Its Do Notation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/12-Monad-State/01-Monad-State.md#Reading-Its-Do-Notation)
+ - [Derived Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/12-Monad-State/01-Monad-State.md#Derived-Functions)
+ - [Laws, Instances, and Miscellaneous Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/12-Monad-State/01-Monad-State.md#Laws-Instances-and-Miscellaneous-Functions)
+ - [02 Monad State Example.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/12-Monad-State/02-Monad-State-Example.purs)
- 13 Tell and Writer
- - [01 Overview.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/13-Tell-and-Writer/01-Overview.md)
- - [Monad Tell](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/13-Tell-and-Writer/01-Overview.md#Monad-Tell)
- - [Do Notation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/13-Tell-and-Writer/01-Overview.md#Do-Notation)
- - [Monad Writer](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/13-Tell-and-Writer/01-Overview.md#Monad-Writer)
- - [Derived Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/13-Tell-and-Writer/01-Overview.md#Derived-Functions)
- - [Laws, Instances, and Miscellaneous Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/13-Tell-and-Writer/01-Overview.md#Laws-Instances-and-Miscellaneous-Functions)
- - [02 Monad Tell Example.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/13-Tell-and-Writer/02-Monad-Tell-Example.purs)
- - [03 Monad Writer Example.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/13-Tell-and-Writer/03-Monad-Writer-Example.purs)
+ - [01 Overview.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/13-Tell-and-Writer/01-Overview.md)
+ - [Monad Tell](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/13-Tell-and-Writer/01-Overview.md#Monad-Tell)
+ - [Do Notation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/13-Tell-and-Writer/01-Overview.md#Do-Notation)
+ - [Monad Writer](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/13-Tell-and-Writer/01-Overview.md#Monad-Writer)
+ - [Derived Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/13-Tell-and-Writer/01-Overview.md#Derived-Functions)
+ - [Laws, Instances, and Miscellaneous Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/13-Tell-and-Writer/01-Overview.md#Laws-Instances-and-Miscellaneous-Functions)
+ - [02 Monad Tell Example.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/13-Tell-and-Writer/02-Monad-Tell-Example.purs)
+ - [03 Monad Writer Example.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/13-Tell-and-Writer/03-Monad-Writer-Example.purs)
- 14 Throw and Error
- - [01 Overview.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/14-Throw-and-Error/01-Overview.md)
- - [MonadThrow](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/14-Throw-and-Error/01-Overview.md#MonadThrow)
- - [MonadError](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/14-Throw-and-Error/01-Overview.md#MonadError)
- - [Derived Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/14-Throw-and-Error/01-Overview.md#Derived-Functions)
- - [Do Notation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/14-Throw-and-Error/01-Overview.md#Do-Notation)
- - [Laws, Instances, and Miscellaneous Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/14-Throw-and-Error/01-Overview.md#Laws-Instances-and-Miscellaneous-Functions)
- - [02 Monad Throw Example.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/14-Throw-and-Error/02-Monad-Throw-Example.purs)
- - [03 Monad Error Example.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/14-Throw-and-Error/03-Monad-Error-Example.purs)
+ - [01 Overview.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/14-Throw-and-Error/01-Overview.md)
+ - [MonadThrow](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/14-Throw-and-Error/01-Overview.md#MonadThrow)
+ - [ExceptT: Before and After](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/14-Throw-and-Error/01-Overview.md#ExceptT-Before-and-After)
+ - [MonadError](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/14-Throw-and-Error/01-Overview.md#MonadError)
+ - [Derived Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/14-Throw-and-Error/01-Overview.md#Derived-Functions)
+ - [Do Notation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/14-Throw-and-Error/01-Overview.md#Do-Notation)
+ - [Laws, Instances, and Miscellaneous Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/14-Throw-and-Error/01-Overview.md#Laws-Instances-and-Miscellaneous-Functions)
+ - [02 Monad Throw Example.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/14-Throw-and-Error/02-Monad-Throw-Example.purs)
+ - [03 Monad Error Example.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/14-Throw-and-Error/03-Monad-Error-Example.purs)
- 15 Monad Cont
- - [01 A Quick Explanation.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/15-Monad-Cont/01-A-Quick-Explanation.md)
- - [Why Callbacks Exist](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/15-Monad-Cont/01-A-Quick-Explanation.md#Why-Callbacks-Exist)
- - [The Continutation Solution](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/15-Monad-Cont/01-A-Quick-Explanation.md#The-Continutation-Solution)
- - [Comparing ContT to Another Function](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/15-Monad-Cont/01-A-Quick-Explanation.md#Comparing-ContT-to-Another-Function)
- - [When You Need Two or More Callback Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/15-Monad-Cont/01-A-Quick-Explanation.md#When-You-Need-Two-or-More-Callback-Functions)
- - [Consider Your Perspective](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/15-Monad-Cont/01-A-Quick-Explanation.md#Consider-Your-Perspective)
- - [02 Monad Cont.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/15-Monad-Cont/02-Monad-Cont.md)
- - [Derived Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/15-Monad-Cont/02-Monad-Cont.md#Derived-Functions)
- - [Laws, Instances, and Miscellaneous Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/15-Monad-Cont/02-Monad-Cont.md#Laws-Instances-and-Miscellaneous-Functions)
- - [03 Monad Cont Example.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/15-Monad-Cont/03-Monad-Cont-Example.purs)
- - [16 Other Monad Transformers.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/16-Other-Monad-Transformers.md)
- - [Usable Now](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/16-Other-Monad-Transformers.md#Usable-Now)
- - [RWS](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/16-Other-Monad-Transformers.md#RWS)
- - [MaybeT](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/16-Other-Monad-Transformers.md#MaybeT)
- - [ListT](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/16-Other-Monad-Transformers.md#ListT)
- - [MonadGen](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/16-Other-Monad-Transformers.md#MonadGen)
- - [MonadRec](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/16-Other-Monad-Transformers.md#MonadRec)
- - [Sketches of Monadic Control Flow](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/16-Other-Monad-Transformers.md#Sketches-of-Monadic-Control-Flow)
- - [Requires More Understanding](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/16-Other-Monad-Transformers.md#Requires-More-Understanding)
+ - [01 A Quick Explanation.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/15-Monad-Cont/01-A-Quick-Explanation.md)
+ - [Why Callbacks Exist](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/15-Monad-Cont/01-A-Quick-Explanation.md#Why-Callbacks-Exist)
+ - [The Continutation Solution](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/15-Monad-Cont/01-A-Quick-Explanation.md#The-Continutation-Solution)
+ - [Comparing ContT to Another Function](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/15-Monad-Cont/01-A-Quick-Explanation.md#Comparing-ContT-to-Another-Function)
+ - [When You Need Two or More Callback Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/15-Monad-Cont/01-A-Quick-Explanation.md#When-You-Need-Two-or-More-Callback-Functions)
+ - [Consider Your Perspective](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/15-Monad-Cont/01-A-Quick-Explanation.md#Consider-Your-Perspective)
+ - [02 Monad Cont.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/15-Monad-Cont/02-Monad-Cont.md)
+ - [Derived Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/15-Monad-Cont/02-Monad-Cont.md#Derived-Functions)
+ - [Laws, Instances, and Miscellaneous Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/15-Monad-Cont/02-Monad-Cont.md#Laws-Instances-and-Miscellaneous-Functions)
+ - [03 Monad Cont Example.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/15-Monad-Cont/03-Monad-Cont-Example.purs)
+ - [16 Other Monad Transformers.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/16-Other-Monad-Transformers.md)
+ - [Usable Now](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/16-Other-Monad-Transformers.md#Usable-Now)
+ - [RWS](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/16-Other-Monad-Transformers.md#RWS)
+ - [MaybeT](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/16-Other-Monad-Transformers.md#MaybeT)
+ - [ListT](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/16-Other-Monad-Transformers.md#ListT)
+ - [MonadGen](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/16-Other-Monad-Transformers.md#MonadGen)
+ - [MonadRec](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/16-Other-Monad-Transformers.md#MonadRec)
+ - [Sketches of Monadic Control Flow](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/16-Other-Monad-Transformers.md#Sketches-of-Monadic-Control-Flow)
+ - [Requires More Understanding](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/16-Other-Monad-Transformers.md#Requires-More-Understanding)
- 21 Using a Monad Transformer
- - [01 How Monad Trans Works.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/21-Using-a-Monad-Transformer/01-How-Monad-Trans-Works.md)
- - [Reviewing Old Ideas](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/21-Using-a-Monad-Transformer/01-How-Monad-Trans-Works.md#Reviewing-Old-Ideas)
- - [Explaining Its Process](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/21-Using-a-Monad-Transformer/01-How-Monad-Trans-Works.md#Explaining-Its-Process)
- - [02 Using Monad Trans.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/21-Using-a-Monad-Transformer/02-Using-Monad-Trans.md)
- - [Reordering the Monad Stack](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/21-Using-a-Monad-Transformer/02-Using-Monad-Trans.md#Reordering-the-Monad-Stack)
- - [03 Monad Transformer Stacks.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/21-Using-a-Monad-Transformer/03-Monad-Transformer-Stacks.md)
+ - [01 How Monad Trans Works.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/21-Using-a-Monad-Transformer/01-How-Monad-Trans-Works.md)
+ - [Reviewing Old Ideas](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/21-Using-a-Monad-Transformer/01-How-Monad-Trans-Works.md#Reviewing-Old-Ideas)
+ - [Explaining Its Process](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/21-Using-a-Monad-Transformer/01-How-Monad-Trans-Works.md#Explaining-Its-Process)
+ - [02 Using Monad Trans.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/21-Using-a-Monad-Transformer/02-Using-Monad-Trans.md)
+ - [Reordering the Monad Stack](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/21-Using-a-Monad-Transformer/02-Using-Monad-Trans.md#Reordering-the-Monad-Stack)
+ - [03 Monad Transformer Stacks.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/21-Using-a-Monad-Transformer/03-Monad-Transformer-Stacks.md)
- 22 Monad Trans
- - [01 Monad Trans.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/22-Monad-Trans/01-Monad-Trans.md)
- - [Laws](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/22-Monad-Trans/01-Monad-Trans.md#Laws)
- - [Instances](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/22-Monad-Trans/01-Monad-Trans.md#Instances)
- - [02 Monad Trans Example.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/22-Monad-Trans/02-Monad-Trans-Example.purs)
- - [31 Drawbacks of MTL.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/31-Drawbacks-of-MTL.md)
- - [`MonadState` Allows Only One State Manipulation Type](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/31-Drawbacks-of-MTL.md#MonadState-Allows-Only-One-State-Manipulation-Type)
- - [`MonadState` & `MonadWriter` lose their state on a runtime error](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/31-Drawbacks-of-MTL.md#MonadState--MonadWriter-lose-their-state-on-a-runtime-error)
- - [`WriterT` & `RWST` has a "space leak" problem](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/31-Drawbacks-of-MTL.md#WriterT--RWST-has-a-space-leak-problem)
- - [N-squared-ish Monad Transformer Instances](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/31-Drawbacks-of-MTL.md#N-squared-ish-Monad-Transformer-Instances)
- - [Monad transformer stacks' type signatures get complicated quickly](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/31-Drawbacks-of-MTL.md#Monad-transformer-stacks-type-signatures-get-complicated-quickly)
- - [The Order of the Monad Transformer Stack Matters](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/31-Drawbacks-of-MTL.md#The-Order-of-the-Monad-Transformer-Stack-Matters)
- - [32 The ReaderT Capability Design Pattern.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/32-The-ReaderT-Capability-Design-Pattern.md)
- - [The `ReaderT` and `Capability` Design Patterns](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/32-The-ReaderT-Capability-Design-Pattern.md#The-ReaderT-and-Capability-Design-Patterns)
- - [When to Use it: ReaderT Design Pattern vs Monad Transformer Stack?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/02-MTL/32-The-ReaderT-Capability-Design-Pattern.md#When-to-Use-it-ReaderT-Design-Pattern-vs-Monad-Transformer-Stack)
+ - [01 Monad Trans.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/22-Monad-Trans/01-Monad-Trans.md)
+ - [Laws](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/22-Monad-Trans/01-Monad-Trans.md#Laws)
+ - [Instances](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/22-Monad-Trans/01-Monad-Trans.md#Instances)
+ - [02 Monad Trans Example.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/22-Monad-Trans/02-Monad-Trans-Example.purs)
+ - [31 Drawbacks of MTL.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/31-Drawbacks-of-MTL.md)
+ - [`MonadState` Allows Only One State Manipulation Type](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/31-Drawbacks-of-MTL.md#MonadState-Allows-Only-One-State-Manipulation-Type)
+ - [`MonadState` & `MonadWriter` lose their state on a runtime error](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/31-Drawbacks-of-MTL.md#MonadState--MonadWriter-lose-their-state-on-a-runtime-error)
+ - [`WriterT` & `RWST` has a "space leak" problem](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/31-Drawbacks-of-MTL.md#WriterT--RWST-has-a-space-leak-problem)
+ - [N-squared-ish Monad Transformer Instances](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/31-Drawbacks-of-MTL.md#N-squared-ish-Monad-Transformer-Instances)
+ - [Monad transformer stacks' type signatures get complicated quickly](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/31-Drawbacks-of-MTL.md#Monad-transformer-stacks-type-signatures-get-complicated-quickly)
+ - [The Order of the Monad Transformer Stack Matters](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/31-Drawbacks-of-MTL.md#The-Order-of-the-Monad-Transformer-Stack-Matters)
+ - [32 The ReaderT Capability Design Pattern.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/32-The-ReaderT-Capability-Design-Pattern.md)
+ - [The `ReaderT` and `Capability` Design Patterns](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/32-The-ReaderT-Capability-Design-Pattern.md#The-ReaderT-and-Capability-Design-Patterns)
+ - [When to Use it: ReaderT Design Pattern vs Monad Transformer Stack?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/02-MTL/32-The-ReaderT-Capability-Design-Pattern.md#When-to-Use-it-ReaderT-Design-Pattern-vs-Monad-Transformer-Stack)
- 03 Free
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/ReadMe.md)
- - [Overview](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/ReadMe.md#Overview)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/ReadMe.md)
+ - [Overview](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/ReadMe.md#Overview)
- 01 What Is The Free Monad
- - [01 What Are Free SomeTypeClass Types.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/01-What-Is-The-Free-Monad/01-What-Are-Free-SomeTypeClass-Types.md)
- - [A "Free" Monoid](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/01-What-Is-The-Free-Monad/01-What-Are-Free-SomeTypeClass-Types.md#A-Free-Monoid)
- - [02 What Is And Is Not The Free Monad.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/01-What-Is-The-Free-Monad/02-What-Is-And-Is-Not-The-Free-Monad.md)
- - [03 The Original Free Monad.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/01-What-Is-The-Free-Monad/03-The-Original-Free-Monad.md)
- - [Definition of Free Monad](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/01-What-Is-The-Free-Monad/03-The-Original-Free-Monad.md#Definition-of-Free-Monad)
- - [04 The Remorseless Free Monad.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/01-What-Is-The-Free-Monad/04-The-Remorseless-Free-Monad.md)
- - [Similar Shapes: The Free Monoid and the Free Monad](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/01-What-Is-The-Free-Monad/04-The-Remorseless-Free-Monad.md#Similar-Shapes-The-Free-Monoid-and-the-Free-Monad)
- - [The Direction Matters](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/01-What-Is-The-Free-Monad/04-The-Remorseless-Free-Monad.md#The-Direction-Matters)
+ - [01 What Are Free SomeTypeClass Types.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/01-What-Is-The-Free-Monad/01-What-Are-Free-SomeTypeClass-Types.md)
+ - [A "Free" Monoid](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/01-What-Is-The-Free-Monad/01-What-Are-Free-SomeTypeClass-Types.md#A-Free-Monoid)
+ - [02 What Is And Is Not The Free Monad.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/01-What-Is-The-Free-Monad/02-What-Is-And-Is-Not-The-Free-Monad.md)
+ - [03 The Original Free Monad.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/01-What-Is-The-Free-Monad/03-The-Original-Free-Monad.md)
+ - [Definition of Free Monad](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/01-What-Is-The-Free-Monad/03-The-Original-Free-Monad.md#Definition-of-Free-Monad)
+ - [04 The Remorseless Free Monad.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/01-What-Is-The-Free-Monad/04-The-Remorseless-Free-Monad.md)
+ - [Similar Shapes: The Free Monoid and the Free Monad](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/01-What-Is-The-Free-Monad/04-The-Remorseless-Free-Monad.md#Similar-Shapes-The-Free-Monoid-and-the-Free-Monad)
+ - [The Direction Matters](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/01-What-Is-The-Free-Monad/04-The-Remorseless-Free-Monad.md#The-Direction-Matters)
- 02 Why Use the Free Monad
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/ReadMe.md)
- - [Brief Summary](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/ReadMe.md#Brief-Summary)
- - [A Solution to the Expression Problem](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/ReadMe.md#A-Solution-to-the-Expression-Problem)
- - [Reading the Paper and This Folder Side-by-Side](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/ReadMe.md#Reading-the-Paper-and-This-Folder-Side-by-Side)
- - [Contents of The Paper](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/ReadMe.md#Contents-of-The-Paper)
- - [Correspondance Table](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/ReadMe.md#Correspondance-Table)
- - [01 Seeing and Solving a Simple Example.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/01-Seeing-and-Solving-a-Simple-Example.md)
- - [A Very Simple Example of The Problem](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/01-Seeing-and-Solving-a-Simple-Example.md#A-Very-Simple-Example-of-The-Problem)
- - [The Solution](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/01-Seeing-and-Solving-a-Simple-Example.md#The-Solution)
- - [02 Reducing Boilerplate via Either.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/02-Reducing-Boilerplate-via-Either.md)
- - [Defining NestedEither](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/02-Reducing-Boilerplate-via-Either.md#Defining-NestedEither)
- - [Defining InjectProject](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/02-Reducing-Boilerplate-via-Either.md#Defining-InjectProject)
- - [`Purescript-Either`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/02-Reducing-Boilerplate-via-Either.md#Purescript-Either)
- - [03 Seeing and Solving a Harder Example.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/03-Seeing-and-Solving-a-Harder-Example.md)
- - [Failing to Solve a Harder Version](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/03-Seeing-and-Solving-a-Harder-Example.md#Failing-to-Solve-a-Harder-Version)
- - [Exploring Our Options](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/03-Seeing-and-Solving-a-Harder-Example.md#Exploring-Our-Options)
- - [Solving the Problem](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/03-Seeing-and-Solving-a-Harder-Example.md#Solving-the-Problem)
- - [Revealing Coproduct](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/03-Seeing-and-Solving-a-Harder-Example.md#Revealing-Coproduct)
- - [04 Writing the Evaluate Function.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/04-Writing-the-Evaluate-Function.md)
- - [The Types' Functor Instances](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/04-Writing-the-Evaluate-Function.md#The-Types-Functor-Instances)
- - [A Simple Evaluation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/04-Writing-the-Evaluate-Function.md#A-Simple-Evaluation)
- - [Including `Add` again](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/04-Writing-the-Evaluate-Function.md#Including-Add-again)
- - [Explaining Terms](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/04-Writing-the-Evaluate-Function.md#Explaining-Terms)
- - [All Code So Far and Evaluate](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/04-Writing-the-Evaluate-Function.md#All-Code-So-Far-and-Evaluate)
- - [05 Optional Read: Writing the Show Function.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/05-Optional-Read--Writing-the-Show-Function.md)
- - [All Code So Far and Show2](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/05-Optional-Read--Writing-the-Show-Function.md#All-Code-So-Far-and-Show2)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/ReadMe.md)
+ - [Brief Summary](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/ReadMe.md#Brief-Summary)
+ - [A Solution to the Expression Problem](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/ReadMe.md#A-Solution-to-the-Expression-Problem)
+ - [Reading the Paper and This Folder Side-by-Side](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/ReadMe.md#Reading-the-Paper-and-This-Folder-Side-by-Side)
+ - [Contents of The Paper](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/ReadMe.md#Contents-of-The-Paper)
+ - [Correspondance Table](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/ReadMe.md#Correspondance-Table)
+ - [01 Seeing and Solving a Simple Example.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/01-Seeing-and-Solving-a-Simple-Example.md)
+ - [A Very Simple Example of The Problem](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/01-Seeing-and-Solving-a-Simple-Example.md#A-Very-Simple-Example-of-The-Problem)
+ - [The Solution](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/01-Seeing-and-Solving-a-Simple-Example.md#The-Solution)
+ - [02 Reducing Boilerplate via Either.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/02-Reducing-Boilerplate-via-Either.md)
+ - [Defining NestedEither](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/02-Reducing-Boilerplate-via-Either.md#Defining-NestedEither)
+ - [Defining InjectProject](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/02-Reducing-Boilerplate-via-Either.md#Defining-InjectProject)
+ - [`Purescript-Either`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/02-Reducing-Boilerplate-via-Either.md#Purescript-Either)
+ - [03 Seeing and Solving a Harder Example.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/03-Seeing-and-Solving-a-Harder-Example.md)
+ - [Failing to Solve a Harder Version](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/03-Seeing-and-Solving-a-Harder-Example.md#Failing-to-Solve-a-Harder-Version)
+ - [Exploring Our Options](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/03-Seeing-and-Solving-a-Harder-Example.md#Exploring-Our-Options)
+ - [Solving the Problem](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/03-Seeing-and-Solving-a-Harder-Example.md#Solving-the-Problem)
+ - [Revealing Coproduct](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/03-Seeing-and-Solving-a-Harder-Example.md#Revealing-Coproduct)
+ - [04 Writing the Evaluate Function.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/04-Writing-the-Evaluate-Function.md)
+ - [The Types' Functor Instances](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/04-Writing-the-Evaluate-Function.md#The-Types-Functor-Instances)
+ - [A Simple Evaluation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/04-Writing-the-Evaluate-Function.md#A-Simple-Evaluation)
+ - [Including `Add` again](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/04-Writing-the-Evaluate-Function.md#Including-Add-again)
+ - [Explaining Terms](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/04-Writing-the-Evaluate-Function.md#Explaining-Terms)
+ - [All Code So Far and Evaluate](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/04-Writing-the-Evaluate-Function.md#All-Code-So-Far-and-Evaluate)
+ - [05 Optional Read: Writing the Show Function.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/05-Optional-Read--Writing-the-Show-Function.md)
+ - [All Code So Far and Show2](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/05-Optional-Read--Writing-the-Show-Function.md#All-Code-So-Far-and-Show2)
- 06 From Expression to Free
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/06-From-Expression-to-Free/ReadMe.md)
- - [A Quick Overview of Some of Purescript's `Free` API](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/06-From-Expression-to-Free/ReadMe.md#A-Quick-Overview-of-Some-of-Purescripts-Free-API)
- - [LiftF](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/06-From-Expression-to-Free/ReadMe.md#LiftF)
- - [Wrap](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/06-From-Expression-to-Free/ReadMe.md#Wrap)
- - [Other Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/06-From-Expression-to-Free/ReadMe.md#Other-Functions)
- - [Compilation Instructions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/06-From-Expression-to-Free/ReadMe.md#Compilation-Instructions)
- - [01 Value.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/06-From-Expression-to-Free/01-Value.purs)
- - [02 Add.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/06-From-Expression-to-Free/02-Add.purs)
- - [03 Multiply.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/06-From-Expression-to-Free/03-Multiply.purs)
- - [04 AddAndMultiply.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/06-From-Expression-to-Free/04-AddAndMultiply.purs)
- - [07 Defining Modular Monads.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/07-Defining-Modular-Monads.md)
- - [Getting Around The Non-Free-Monad Limitation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/07-Defining-Modular-Monads.md#Getting-Around-The-Non-Free-Monad-Limitation)
- - [Modular Effects via Languages](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/07-Defining-Modular-Monads.md#Modular-Effects-via-Languages)
- - [Defining and Interpreting Languages for the Free Monad](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/07-Defining-Modular-Monads.md#Defining-and-Interpreting-Languages-for-the-Free-Monad)
- - [Example](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/07-Defining-Modular-Monads.md#Example)
- - [08 Layered Compilers.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/08-Layered-Compilers.md)
- - [Free Applicative](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/08-Layered-Compilers.md#Free-Applicative)
- - [Related Posts](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/08-Layered-Compilers.md#Related-Posts)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/06-From-Expression-to-Free/ReadMe.md)
+ - [A Quick Overview of Some of Purescript's `Free` API](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/06-From-Expression-to-Free/ReadMe.md#A-Quick-Overview-of-Some-of-Purescripts-Free-API)
+ - [LiftF](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/06-From-Expression-to-Free/ReadMe.md#LiftF)
+ - [Wrap](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/06-From-Expression-to-Free/ReadMe.md#Wrap)
+ - [Other Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/06-From-Expression-to-Free/ReadMe.md#Other-Functions)
+ - [Compilation Instructions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/06-From-Expression-to-Free/ReadMe.md#Compilation-Instructions)
+ - [01 Value.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/06-From-Expression-to-Free/01-Value.purs)
+ - [02 Add.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/06-From-Expression-to-Free/02-Add.purs)
+ - [03 Multiply.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/06-From-Expression-to-Free/03-Multiply.purs)
+ - [04 AddAndMultiply.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/06-From-Expression-to-Free/04-AddAndMultiply.purs)
+ - [07 Defining Modular Monads.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/07-Defining-Modular-Monads.md)
+ - [Getting Around The Non-Free-Monad Limitation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/07-Defining-Modular-Monads.md#Getting-Around-The-Non-Free-Monad-Limitation)
+ - [Modular Effects via Languages](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/07-Defining-Modular-Monads.md#Modular-Effects-via-Languages)
+ - [Defining and Interpreting Languages for the Free Monad](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/07-Defining-Modular-Monads.md#Defining-and-Interpreting-Languages-for-the-Free-Monad)
+ - [Example](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/07-Defining-Modular-Monads.md#Example)
+ - [08 Layered Compilers.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/08-Layered-Compilers.md)
+ - [Free Applicative](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/08-Layered-Compilers.md#Free-Applicative)
+ - [Related Posts](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/02-Why-Use-the-Free-Monad/08-Layered-Compilers.md#Related-Posts)
- 03 From Free to Run
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/ReadMe.md)
- - [01 From Either to Variant.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/01-From-Either-to-Variant.md)
- - [Adding More Conditions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/01-From-Either-to-Variant.md#Adding-More-Conditions)
- - [Using Variant](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/01-From-Either-to-Variant.md#Using-Variant)
- - [Injection](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/01-From-Either-to-Variant.md#Injection)
- - [Projection](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/01-From-Either-to-Variant.md#Projection)
- - [Pattern Matching in Variant](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/01-From-Either-to-Variant.md#Pattern-Matching-in-Variant)
- - [Updating Our Solution](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/01-From-Either-to-Variant.md#Updating-Our-Solution)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/ReadMe.md)
+ - [01 From Either to Variant.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/01-From-Either-to-Variant.md)
+ - [Adding More Conditions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/01-From-Either-to-Variant.md#Adding-More-Conditions)
+ - [Using Variant](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/01-From-Either-to-Variant.md#Using-Variant)
+ - [Injection](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/01-From-Either-to-Variant.md#Injection)
+ - [Projection](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/01-From-Either-to-Variant.md#Projection)
+ - [Pattern Matching in Variant](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/01-From-Either-to-Variant.md#Pattern-Matching-in-Variant)
+ - [Updating Our Solution](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/01-From-Either-to-Variant.md#Updating-Our-Solution)
- 02 From Coproduct to VariantF
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/02-From-Coproduct-to-VariantF/ReadMe.md)
- - [Explaining `VariantF`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/02-From-Coproduct-to-VariantF/ReadMe.md#Explaining-VariantF)
- - [Composing Type-Level Types via `RowApply`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/02-From-Coproduct-to-VariantF/ReadMe.md#Composing-Type-Level-Types-via-RowApply)
- - [Defining Composable Algebras for Data Types](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/02-From-Coproduct-to-VariantF/ReadMe.md#Defining-Composable-Algebras-for-Data-Types)
- - [Running an Algebra on an Expression](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/02-From-Coproduct-to-VariantF/ReadMe.md#Running-an-Algebra-on-an-Expression)
- - [Final Result](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/02-From-Coproduct-to-VariantF/ReadMe.md#Final-Result)
- - [01 Value.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/02-From-Coproduct-to-VariantF/01-Value.purs)
- - [02 Add.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/02-From-Coproduct-to-VariantF/02-Add.purs)
- - [03 Multiply.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/02-From-Coproduct-to-VariantF/03-Multiply.purs)
- - [11 Original Gist.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/02-From-Coproduct-to-VariantF/11-Original-Gist.md)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/02-From-Coproduct-to-VariantF/ReadMe.md)
+ - [Explaining `VariantF`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/02-From-Coproduct-to-VariantF/ReadMe.md#Explaining-VariantF)
+ - [Composing Type-Level Types via `RowApply`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/02-From-Coproduct-to-VariantF/ReadMe.md#Composing-Type-Level-Types-via-RowApply)
+ - [Defining Composable Algebras for Data Types](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/02-From-Coproduct-to-VariantF/ReadMe.md#Defining-Composable-Algebras-for-Data-Types)
+ - [Running an Algebra on an Expression](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/02-From-Coproduct-to-VariantF/ReadMe.md#Running-an-Algebra-on-an-Expression)
+ - [Final Result](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/02-From-Coproduct-to-VariantF/ReadMe.md#Final-Result)
+ - [01 Value.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/02-From-Coproduct-to-VariantF/01-Value.purs)
+ - [02 Add.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/02-From-Coproduct-to-VariantF/02-Add.purs)
+ - [03 Multiply.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/02-From-Coproduct-to-VariantF/03-Multiply.purs)
+ - [11 Original Gist.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/02-From-Coproduct-to-VariantF/11-Original-Gist.md)
- 03 Explaining Run
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/03-Explaining-Run/ReadMe.md)
- - [What is `Run`?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/03-Explaining-Run/ReadMe.md#What-is-Run)
- - [Comparing Run to Free and MTL](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/03-Explaining-Run/ReadMe.md#Comparing-Run-to-Free-and-MTL)
- - [Free and Run: Some Core Functions Compared](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/03-Explaining-Run/ReadMe.md#Free-and-Run-Some-Core-Functions-Compared)
- - [Naming Conventions for Effects](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/03-Explaining-Run/ReadMe.md#Naming-Conventions-for-Effects)
- - [Similarities to MTL](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/03-Explaining-Run/ReadMe.md#Similarities-to-MTL)
- - [Type Aliases](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/03-Explaining-Run/ReadMe.md#Type-Aliases)
- - [MTL-Like Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/03-Explaining-Run/ReadMe.md#MTL-Like-Functions)
- - [Examples of MTL-Like Run-Based Code](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/03-Explaining-Run/ReadMe.md#Examples-of-MTL-Like-Run-Based-Code)
- - [01 Value.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/03-Explaining-Run/01-Value.purs)
- - [02 Add.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/03-Explaining-Run/02-Add.purs)
- - [03 Multiply.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/03-Explaining-Run/03-Multiply.purs)
- - [04 Drawbacks of Free.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/03-Free/04-Drawbacks-of-Free.md)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/03-Explaining-Run/ReadMe.md)
+ - [What is `Run`?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/03-Explaining-Run/ReadMe.md#What-is-Run)
+ - [Comparing Run to Free and MTL](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/03-Explaining-Run/ReadMe.md#Comparing-Run-to-Free-and-MTL)
+ - [Free and Run: Some Core Functions Compared](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/03-Explaining-Run/ReadMe.md#Free-and-Run-Some-Core-Functions-Compared)
+ - [Naming Conventions for Effects](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/03-Explaining-Run/ReadMe.md#Naming-Conventions-for-Effects)
+ - [Similarities to MTL](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/03-Explaining-Run/ReadMe.md#Similarities-to-MTL)
+ - [Type Aliases](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/03-Explaining-Run/ReadMe.md#Type-Aliases)
+ - [MTL-Like Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/03-Explaining-Run/ReadMe.md#MTL-Like-Functions)
+ - [Examples of MTL-Like Run-Based Code](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/03-Explaining-Run/ReadMe.md#Examples-of-MTL-Like-Run-Based-Code)
+ - [01 Value.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/03-Explaining-Run/01-Value.purs)
+ - [02 Add.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/03-Explaining-Run/02-Add.purs)
+ - [03 Multiply.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/03-From-Free-to-Run/03-Explaining-Run/03-Multiply.purs)
+ - [04 Drawbacks of Free.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/03-Free/04-Drawbacks-of-Free.md)
- 11 Hello World
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/11-Hello-World/ReadMe.md)
- - [Compilation Instructions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/11-Hello-World/ReadMe.md#Compilation-Instructions)
- - [01 Design Thought Process.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/11-Hello-World/01-Design-Thought-Process.md)
- - [Level 4 / Core](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/11-Hello-World/01-Design-Thought-Process.md#Level-4--Core)
- - [Level 3 / Domain](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/11-Hello-World/01-Design-Thought-Process.md#Level-3--Domain)
- - [Level 2 / API](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/11-Hello-World/01-Design-Thought-Process.md#Level-2--API)
- - [Level 1 / Infrastructure](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/11-Hello-World/01-Design-Thought-Process.md#Level-1--Infrastructure)
- - [Level 0 / Machine Code](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/11-Hello-World/01-Design-Thought-Process.md#Level-0--Machine-Code)
- - [02 ReaderT.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/11-Hello-World/02-ReaderT.purs)
- - [03 Free.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/11-Hello-World/03-Free.purs)
- - [04 Run.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/11-Hello-World/04-Run.purs)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/11-Hello-World/ReadMe.md)
+ - [Compilation Instructions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/11-Hello-World/ReadMe.md#Compilation-Instructions)
+ - [01 Design Thought Process.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/11-Hello-World/01-Design-Thought-Process.md)
+ - [Level 4 / Core](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/11-Hello-World/01-Design-Thought-Process.md#Level-4--Core)
+ - [Level 3 / Domain](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/11-Hello-World/01-Design-Thought-Process.md#Level-3--Domain)
+ - [Level 2 / API](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/11-Hello-World/01-Design-Thought-Process.md#Level-2--API)
+ - [Level 1 / Infrastructure](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/11-Hello-World/01-Design-Thought-Process.md#Level-1--Infrastructure)
+ - [Level 0 / Machine Code](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/11-Hello-World/01-Design-Thought-Process.md#Level-0--Machine-Code)
+ - [02 ReaderT.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/11-Hello-World/02-ReaderT.purs)
+ - [03 Free.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/11-Hello-World/03-Free.purs)
+ - [04 Run.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/11-Hello-World/04-Run.purs)
- 12 Number Comparison
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/12-Number-Comparison/ReadMe.md)
- - [Compilation Instructions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/12-Number-Comparison/ReadMe.md#Compilation-Instructions)
- - [01 Design Thought Process.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/12-Number-Comparison/01-Design-Thought-Process.md)
- - [Level 4 / Core](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/12-Number-Comparison/01-Design-Thought-Process.md#Level-4--Core)
- - [Level 3 / Domain](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/12-Number-Comparison/01-Design-Thought-Process.md#Level-3--Domain)
- - [Level 2 / API](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/12-Number-Comparison/01-Design-Thought-Process.md#Level-2--API)
- - [Level 1 / Infrastructure](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/12-Number-Comparison/01-Design-Thought-Process.md#Level-1--Infrastructure)
- - [Level 0 / Machine Code](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/12-Number-Comparison/01-Design-Thought-Process.md#Level-0--Machine-Code)
- - [02 ReaderT.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/12-Number-Comparison/02-ReaderT.purs)
- - [03 Free.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/12-Number-Comparison/03-Free.purs)
- - [04 Run.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/12-Number-Comparison/04-Run.purs)
- - [21 Modern FP Architecture.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/21-Modern-FP-Architecture.md)
- - [Properties of "Effects"](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/21-Modern-FP-Architecture.md#Properties-of-Effects)
- - [Extensible](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/21-Modern-FP-Architecture.md#Extensible)
- - [Composable](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/21-Modern-FP-Architecture.md#Composable)
- - [Efficient](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/21-Modern-FP-Architecture.md#Efficient)
- - [Terse](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/21-Modern-FP-Architecture.md#Terse)
- - [Inferrable](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/21-Modern-FP-Architecture.md#Inferrable)
- - [Key Articles](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/21-Modern-FP-Architecture.md#Key-Articles)
- - [Evaluating MTL and Free](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/21-Modern-FP-Architecture.md#Evaluating-MTL-and-Free)
- - [Reducing Boilerplate via Atom's Snippets Feature](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/05-Application-Structure/src/21-Modern-FP-Architecture.md#Reducing-Boilerplate-via-Atoms-Snippets-Feature)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/12-Number-Comparison/ReadMe.md)
+ - [Compilation Instructions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/12-Number-Comparison/ReadMe.md#Compilation-Instructions)
+ - [01 Design Thought Process.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/12-Number-Comparison/01-Design-Thought-Process.md)
+ - [Level 4 / Core](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/12-Number-Comparison/01-Design-Thought-Process.md#Level-4--Core)
+ - [Level 3 / Domain](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/12-Number-Comparison/01-Design-Thought-Process.md#Level-3--Domain)
+ - [Level 2 / API](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/12-Number-Comparison/01-Design-Thought-Process.md#Level-2--API)
+ - [Level 1 / Infrastructure](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/12-Number-Comparison/01-Design-Thought-Process.md#Level-1--Infrastructure)
+ - [Level 0 / Machine Code](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/12-Number-Comparison/01-Design-Thought-Process.md#Level-0--Machine-Code)
+ - [02 ReaderT.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/12-Number-Comparison/02-ReaderT.purs)
+ - [03 Free.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/12-Number-Comparison/03-Free.purs)
+ - [04 Run.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/12-Number-Comparison/04-Run.purs)
+ - [21 Modern FP Architecture.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/21-Modern-FP-Architecture.md)
+ - [Properties of "Effects"](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/21-Modern-FP-Architecture.md#Properties-of-Effects)
+ - [Extensible](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/21-Modern-FP-Architecture.md#Extensible)
+ - [Composable](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/21-Modern-FP-Architecture.md#Composable)
+ - [Efficient](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/21-Modern-FP-Architecture.md#Efficient)
+ - [Terse](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/21-Modern-FP-Architecture.md#Terse)
+ - [Inferrable](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/21-Modern-FP-Architecture.md#Inferrable)
+ - [Key Articles](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/21-Modern-FP-Architecture.md#Key-Articles)
+ - [Evaluating MTL and Free](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/21-Modern-FP-Architecture.md#Evaluating-MTL-and-Free)
+ - [Reducing Boilerplate via Atom's Snippets Feature](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/05-Application-Structure/src/21-Modern-FP-Architecture.md#Reducing-Boilerplate-via-Atoms-Snippets-Feature)
- 06 Type Level Programming
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/06-Type-Level-Programming/ReadMe.md)
- - [Example](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/06-Type-Level-Programming/ReadMe.md#Example)
- - [A Problem](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/06-Type-Level-Programming/ReadMe.md#A-Problem)
- - [A Solution](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/06-Type-Level-Programming/ReadMe.md#A-Solution)
- - [Issues with Type-Level Programming](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/06-Type-Level-Programming/ReadMe.md#Issues-with-Type-Level-Programming)
- - [Other Learning Sources](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/06-Type-Level-Programming/ReadMe.md#Other-Learning-Sources)
- - [Compilation Instructions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/06-Type-Level-Programming/ReadMe.md#Compilation-Instructions)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/06-Type-Level-Programming/ReadMe.md)
+ - [Example](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/06-Type-Level-Programming/ReadMe.md#Example)
+ - [A Problem](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/06-Type-Level-Programming/ReadMe.md#A-Problem)
+ - [A Solution](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/06-Type-Level-Programming/ReadMe.md#A-Solution)
+ - [Issues with Type-Level Programming](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/06-Type-Level-Programming/ReadMe.md#Issues-with-Type-Level-Programming)
+ - [Other Learning Sources](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/06-Type-Level-Programming/ReadMe.md#Other-Learning-Sources)
+ - [Compilation Instructions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/06-Type-Level-Programming/ReadMe.md#Compilation-Instructions)
- src
- - [01 Understanding a Type Level Function.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/06-Type-Level-Programming/src/01-Understanding-a-Type-Level-Function.md)
- - [Tips on Rows](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/06-Type-Level-Programming/src/01-Understanding-a-Type-Level-Function.md#Tips-on-Rows)
- - [Reading a Type-Level Function](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/06-Type-Level-Programming/src/01-Understanding-a-Type-Level-Function.md#Reading-a-Type-Level-Function)
- - [Writing a Type-Level Function](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/06-Type-Level-Programming/src/01-Understanding-a-Type-Level-Function.md#Writing-a-Type-Level-Function)
- - [UnsafeCoerce](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/06-Type-Level-Programming/src/01-Understanding-a-Type-Level-Function.md#UnsafeCoerce)
- - [02 Symbol Example.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/06-Type-Level-Programming/src/02-Symbol-Example.purs)
- - [03 Row Example.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/06-Type-Level-Programming/src/03-Row-Example.purs)
- - [04 Type Level Primitives.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/06-Type-Level-Programming/src/04-Type-Level-Primitives.md)
- - [Types of Relationships](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/06-Type-Level-Programming/src/04-Type-Level-Primitives.md#Types-of-Relationships)
- - [Type-Level Types, Values, and Proxies](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/06-Type-Level-Programming/src/04-Type-Level-Primitives.md#Type-Level-Types-Values-and-Proxies)
- - [Type-Level Modules](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/06-Type-Level-Programming/src/04-Type-Level-Primitives.md#Type-Level-Modules)
+ - [01 Understanding a Type Level Function.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/06-Type-Level-Programming/src/01-Understanding-a-Type-Level-Function.md)
+ - [Tips on Rows](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/06-Type-Level-Programming/src/01-Understanding-a-Type-Level-Function.md#Tips-on-Rows)
+ - [Reading a Type-Level Function](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/06-Type-Level-Programming/src/01-Understanding-a-Type-Level-Function.md#Reading-a-Type-Level-Function)
+ - [Writing a Type-Level Function](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/06-Type-Level-Programming/src/01-Understanding-a-Type-Level-Function.md#Writing-a-Type-Level-Function)
+ - [UnsafeCoerce](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/06-Type-Level-Programming/src/01-Understanding-a-Type-Level-Function.md#UnsafeCoerce)
+ - [02 Symbol Example.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/06-Type-Level-Programming/src/02-Symbol-Example.purs)
+ - [03 Row Example.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/06-Type-Level-Programming/src/03-Row-Example.purs)
+ - [04 Type Level Primitives.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/06-Type-Level-Programming/src/04-Type-Level-Primitives.md)
+ - [Types of Relationships](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/06-Type-Level-Programming/src/04-Type-Level-Primitives.md#Types-of-Relationships)
+ - [Type-Level Types, Values, and Proxies](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/06-Type-Level-Programming/src/04-Type-Level-Primitives.md#Type-Level-Types-Values-and-Proxies)
+ - [Type-Level Modules](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/06-Type-Level-Programming/src/04-Type-Level-Primitives.md#Type-Level-Modules)
- 07 Testing
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/ReadMe.md)
- - [Test Conventions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/ReadMe.md#Test-Conventions)
- - [Breaking Conventions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/ReadMe.md#Breaking-Conventions)
- - [Libraries Used](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/ReadMe.md#Libraries-Used)
- - [Running the Tests](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/ReadMe.md#Running-the-Tests)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/ReadMe.md)
+ - [Test Conventions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/ReadMe.md#Test-Conventions)
+ - [Breaking Conventions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/ReadMe.md#Breaking-Conventions)
+ - [Libraries Used](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/ReadMe.md#Libraries-Used)
+ - [Running the Tests](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/ReadMe.md#Running-the-Tests)
- test
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/ReadMe.md)
- - [What is Unit Testing](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/ReadMe.md#What-is-Unit-Testing)
- - [A Brief Note on Golden Testing](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/ReadMe.md#A-Brief-Note-on-Golden-Testing)
- - [Why Unit Testing Fails](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/ReadMe.md#Why-Unit-Testing-Fails)
- - [What is Property Testing and Why It Succeeds](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/ReadMe.md#What-is-Property-Testing-and-Why-It-Succeeds)
- - [The Trustworthiness of Property Testing](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/ReadMe.md#The-Trustworthiness-of-Property-Testing)
- - [Shrinking: Integrated vs Type-Directed](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/ReadMe.md#Shrinking-Integrated-vs-Type-Directed)
- - [The Limits of Property Testing](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/ReadMe.md#The-Limits-of-Property-Testing)
- - [Conclusion](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/ReadMe.md#Conclusion)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/ReadMe.md)
+ - [What is Unit Testing](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/ReadMe.md#What-is-Unit-Testing)
+ - [A Brief Note on Golden Testing](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/ReadMe.md#A-Brief-Note-on-Golden-Testing)
+ - [Why Unit Testing Fails](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/ReadMe.md#Why-Unit-Testing-Fails)
+ - [What is Property Testing and Why It Succeeds](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/ReadMe.md#What-is-Property-Testing-and-Why-It-Succeeds)
+ - [The Trustworthiness of Property Testing](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/ReadMe.md#The-Trustworthiness-of-Property-Testing)
+ - [Shrinking: Integrated vs Type-Directed](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/ReadMe.md#Shrinking-Integrated-vs-Type-Directed)
+ - [The Limits of Property Testing](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/ReadMe.md#The-Limits-of-Property-Testing)
+ - [Conclusion](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/ReadMe.md#Conclusion)
- 01 Unit
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/01-Unit/ReadMe.md)
- - [Spec](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/01-Unit/ReadMe.md#Spec)
- - [Test Instructions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/01-Unit/ReadMe.md#Test-Instructions)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/01-Unit/ReadMe.md)
+ - [Spec](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/01-Unit/ReadMe.md#Spec)
+ - [Test Instructions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/01-Unit/ReadMe.md#Test-Instructions)
- 01 Spec Examples
- 01 Self Contained
- - [01 Console Reporter.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/01-Unit/01-Spec-Examples/01-Self-Contained/01-Console-Reporter.purs)
- - [02 Dot Reporter.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/01-Unit/01-Spec-Examples/01-Self-Contained/02-Dot-Reporter.purs)
- - [03 Spec Reporter.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/01-Unit/01-Spec-Examples/01-Self-Contained/03-Spec-Reporter.purs)
- - [04 Tap Reporter.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/01-Unit/01-Spec-Examples/01-Self-Contained/04-Tap-Reporter.purs)
+ - [01 Console Reporter.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/01-Unit/01-Spec-Examples/01-Self-Contained/01-Console-Reporter.purs)
+ - [02 Dot Reporter.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/01-Unit/01-Spec-Examples/01-Self-Contained/02-Dot-Reporter.purs)
+ - [03 Spec Reporter.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/01-Unit/01-Spec-Examples/01-Self-Contained/03-Spec-Reporter.purs)
+ - [04 Tap Reporter.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/01-Unit/01-Spec-Examples/01-Self-Contained/04-Tap-Reporter.purs)
- 02 Modulated
- - [Runner.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/01-Unit/01-Spec-Examples/02-Modulated/Runner.purs)
- - [Spec1.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/01-Unit/01-Spec-Examples/02-Modulated/Spec1.purs)
- - [Spec2.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/01-Unit/01-Spec-Examples/02-Modulated/Spec2.purs)
- - [Spec3.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/01-Unit/01-Spec-Examples/02-Modulated/Spec3.purs)
- - [FocusedSpec.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/01-Unit/01-Spec-Examples/FocusedSpec.purs)
+ - [Runner.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/01-Unit/01-Spec-Examples/02-Modulated/Runner.purs)
+ - [Spec1.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/01-Unit/01-Spec-Examples/02-Modulated/Spec1.purs)
+ - [Spec2.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/01-Unit/01-Spec-Examples/02-Modulated/Spec2.purs)
+ - [Spec3.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/01-Unit/01-Spec-Examples/02-Modulated/Spec3.purs)
+ - [FocusedSpec.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/01-Unit/01-Spec-Examples/FocusedSpec.purs)
- 02 Quick Check and Laws
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/02-Quick-Check-and-Laws/ReadMe.md)
- - [Compilation Instructions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/02-Quick-Check-and-Laws/ReadMe.md#Compilation-Instructions)
- - [01 Gen and MonadGen.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/02-Quick-Check-and-Laws/01-Gen-and-MonadGen.md)
- - [How QuickCheck Generates Random Data](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/02-Quick-Check-and-Laws/01-Gen-and-MonadGen.md#How-QuickCheck-Generates-Random-Data)
- - [The `Gen` Monad and its `MonadGen` Type Class](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/02-Quick-Check-and-Laws/01-Gen-and-MonadGen.md#The-Gen-Monad-and-its-MonadGen-Type-Class)
- - [The Importance of the `Seed` Value](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/02-Quick-Check-and-Laws/01-Gen-and-MonadGen.md#The-Importance-of-the-Seed-Value)
- - [02 Test Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/02-Quick-Check-and-Laws/02-Test-Syntax.purs)
- - [03 Generating Random Data.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/02-Quick-Check-and-Laws/03-Generating-Random-Data.purs)
- - [04 Generating Strings.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/02-Quick-Check-and-Laws/04-Generating-Strings.purs)
- - [05 Arbitrary.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/02-Quick-Check-and-Laws/05-Arbitrary.purs)
- - [06 Coarbitrary.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/02-Quick-Check-and-Laws/06-Coarbitrary.md)
- - [07 Problems with Arbitrary.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/02-Quick-Check-and-Laws/07-Problems-with-Arbitrary.md)
- - [08 Quick Check Laws.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/02-Quick-Check-and-Laws/08-Quick-Check-Laws.purs)
- - [03 Property Testing Libraries Comparison.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/07-Testing/test/03-Property-Testing-Libraries-Comparison.md)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/02-Quick-Check-and-Laws/ReadMe.md)
+ - [Compilation Instructions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/02-Quick-Check-and-Laws/ReadMe.md#Compilation-Instructions)
+ - [01 Gen and MonadGen.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/02-Quick-Check-and-Laws/01-Gen-and-MonadGen.md)
+ - [How QuickCheck Generates Random Data](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/02-Quick-Check-and-Laws/01-Gen-and-MonadGen.md#How-QuickCheck-Generates-Random-Data)
+ - [The `Gen` Monad and its `MonadGen` Type Class](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/02-Quick-Check-and-Laws/01-Gen-and-MonadGen.md#The-Gen-Monad-and-its-MonadGen-Type-Class)
+ - [The Importance of the `Seed` Value](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/02-Quick-Check-and-Laws/01-Gen-and-MonadGen.md#The-Importance-of-the-Seed-Value)
+ - [02 Test Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/02-Quick-Check-and-Laws/02-Test-Syntax.purs)
+ - [03 Generating Random Data.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/02-Quick-Check-and-Laws/03-Generating-Random-Data.purs)
+ - [04 Generating Strings.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/02-Quick-Check-and-Laws/04-Generating-Strings.purs)
+ - [05 Arbitrary.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/02-Quick-Check-and-Laws/05-Arbitrary.purs)
+ - [06 Coarbitrary.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/02-Quick-Check-and-Laws/06-Coarbitrary.md)
+ - [07 Problems with Arbitrary.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/02-Quick-Check-and-Laws/07-Problems-with-Arbitrary.md)
+ - [08 Quick Check Laws.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/02-Quick-Check-and-Laws/08-Quick-Check-Laws.purs)
+ - [03 Property Testing Libraries Comparison.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/07-Testing/test/03-Property-Testing-Libraries-Comparison.md)
- 08 Benchmarking
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/08-Benchmarking/ReadMe.md)
- - [Compilation Instructions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/08-Benchmarking/ReadMe.md#Compilation-Instructions)
- - [Generating benchmark results](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/08-Benchmarking/ReadMe.md#Generating-benchmark-results)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/08-Benchmarking/ReadMe.md)
+ - [Compilation Instructions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/08-Benchmarking/ReadMe.md#Compilation-Instructions)
+ - [Generating benchmark results](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/08-Benchmarking/ReadMe.md#Generating-benchmark-results)
- benchmark
- - [01 Benchmark Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/08-Benchmarking/benchmark/01-Benchmark-Syntax.purs)
-- [11 Conclusion.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/11-Conclusion.md)
- - [Style Guide for Libraries](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/21-Hello-World/11-Conclusion.md#Style-Guide-for-Libraries)
+ - [01 Benchmark Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/08-Benchmarking/benchmark/01-Benchmark-Syntax.purs)
+- [11 Conclusion.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/11-Conclusion.md)
+ - [Style Guide for Libraries](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/21-Hello-World/11-Conclusion.md#Style-Guide-for-Libraries)
## 22 Projects
-- [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/ReadMe.md)
- - [Other "Example Projects"](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/ReadMe.md#Other-Example-Projects)
- - [Projects in non-JS backends](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/ReadMe.md#Projects-in-non-JS-backends)
- - [Clarifying Our Terminology](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/ReadMe.md#Clarifying-Our-Terminology)
- - [Libraries Overviewed](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/ReadMe.md#Libraries-Overviewed)
- - [Projects](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/ReadMe.md#Projects)
- - [License](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/ReadMe.md#License)
- - [Compilation Instructions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/ReadMe.md#Compilation-Instructions)
- - [Setting Up This Folder](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/ReadMe.md#Setting-Up-This-Folder)
- - [Building/Running Each Approach](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/ReadMe.md#BuildingRunning-Each-Approach)
+- [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/ReadMe.md)
+ - [Other "Example Projects"](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/ReadMe.md#Other-Example-Projects)
+ - [Projects in non-JS backends](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/ReadMe.md#Projects-in-non-JS-backends)
+ - [Clarifying Our Terminology](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/ReadMe.md#Clarifying-Our-Terminology)
+ - [Libraries Overviewed](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/ReadMe.md#Libraries-Overviewed)
+ - [Projects](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/ReadMe.md#Projects)
+ - [License](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/ReadMe.md#License)
+ - [Compilation Instructions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/ReadMe.md#Compilation-Instructions)
+ - [Setting Up This Folder](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/ReadMe.md#Setting-Up-This-Folder)
+ - [Building/Running Each Approach](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/ReadMe.md#BuildingRunning-Each-Approach)
- benchmark
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/benchmark/ReadMe.md)
- - [Generating benchmark results](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/benchmark/ReadMe.md#Generating-benchmark-results)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/benchmark/ReadMe.md)
+ - [Generating benchmark results](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/benchmark/ReadMe.md#Generating-benchmark-results)
- 11 Random Number
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/benchmark/11-Random-Number/ReadMe.md)
- - [Interpreting These Benchmarks](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/benchmark/11-Random-Number/ReadMe.md#Interpreting-These-Benchmarks)
- - [01 Benchmark.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/benchmark/11-Random-Number/01-Benchmark.purs)
- - [02 Generators.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/benchmark/11-Random-Number/02-Generators.purs)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/benchmark/11-Random-Number/ReadMe.md)
+ - [Interpreting These Benchmarks](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/benchmark/11-Random-Number/ReadMe.md#Interpreting-These-Benchmarks)
+ - [01 Benchmark.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/benchmark/11-Random-Number/01-Benchmark.purs)
+ - [02 Generators.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/benchmark/11-Random-Number/02-Generators.purs)
- src
- 01 Libraries
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/01-Libraries/ReadMe.md)
- - [Halogen.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/01-Libraries/Halogen.md)
- - [Learn Halogen v5 (stable, unreleased)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/01-Libraries/Halogen.md#Learn-Halogen-v5-stable-unreleased)
- - [Learn Halogen v4 (stable, released, but will be outdated soon)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/01-Libraries/Halogen.md#Learn-Halogen-v4-stable-released-but-will-be-outdated-soon)
- - [Halogen Guide](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/01-Libraries/Halogen.md#Halogen-Guide)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/01-Libraries/ReadMe.md)
+ - [Halogen.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/01-Libraries/Halogen.md)
+ - [Learn Halogen v5 (stable, unreleased)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/01-Libraries/Halogen.md#Learn-Halogen-v5-stable-unreleased)
+ - [Learn Halogen v4 (stable, released, but will be outdated soon)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/01-Libraries/Halogen.md#Learn-Halogen-v4-stable-released-but-will-be-outdated-soon)
+ - [Halogen Guide](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/01-Libraries/Halogen.md#Halogen-Guide)
- Http
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/01-Libraries/Http/ReadMe.md)
- - [01 Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/01-Libraries/Http/01-Syntax.purs)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/01-Libraries/Http/ReadMe.md)
+ - [01 Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/01-Libraries/Http/01-Syntax.purs)
- Node FS
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/01-Libraries/Node-FS/ReadMe.md)
- - [01 Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/01-Libraries/Node-FS/01-Syntax.purs)
- - [12 Print All Files.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/01-Libraries/Node-FS/12-Print-All-Files.purs)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/01-Libraries/Node-FS/ReadMe.md)
+ - [01 Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/01-Libraries/Node-FS/01-Syntax.purs)
+ - [12 Print All Files.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/01-Libraries/Node-FS/12-Print-All-Files.purs)
+ - Node.ReadLine
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/01-Libraries/Node.ReadLine/ReadMe.md)
+ - [Compilation Instructions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/01-Libraries/Node.ReadLine/ReadMe.md#Compilation-Instructions)
+ - [01 Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/01-Libraries/Node.ReadLine/01-Syntax.purs)
- OptParser
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/01-Libraries/OptParser/ReadMe.md)
- - [01 Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/01-Libraries/OptParser/01-Syntax.purs)
- - [11 GetRootDirViaAbsolutePath.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/01-Libraries/OptParser/11-GetRootDirViaAbsolutePath.purs)
- - [12 GetRootDirViaEitherPath.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/01-Libraries/OptParser/12-GetRootDirViaEitherPath.purs)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/01-Libraries/OptParser/ReadMe.md)
+ - [01 Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/01-Libraries/OptParser/01-Syntax.purs)
+ - [11 GetRootDirViaAbsolutePath.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/01-Libraries/OptParser/11-GetRootDirViaAbsolutePath.purs)
+ - [12 GetRootDirViaEitherPath.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/01-Libraries/OptParser/12-GetRootDirViaEitherPath.purs)
- Parallel
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/01-Libraries/Parallel/ReadMe.md)
- - [01 Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/01-Libraries/Parallel/01-Syntax.purs)
- - [11 Instance for Parallel.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/01-Libraries/Parallel/11-Instance-for-Parallel.purs)
- - ReadLine and Aff
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/01-Libraries/ReadLine-and-Aff/ReadMe.md)
- - [Compilation Instructions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/01-Libraries/ReadLine-and-Aff/ReadMe.md#Compilation-Instructions)
- - [01 Readline API.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/01-Libraries/ReadLine-and-Aff/01-Readline-API.md)
- - [02 ReadLine Effect.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/01-Libraries/ReadLine-and-Aff/02-ReadLine-Effect.purs)
- - [03 MonadEffect.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/01-Libraries/ReadLine-and-Aff/03-MonadEffect.md)
- - [04 Basic Aff Functions.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/01-Libraries/ReadLine-and-Aff/04-Basic-Aff-Functions.md)
- - [Aff Overview](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/01-Libraries/ReadLine-and-Aff/04-Basic-Aff-Functions.md#Aff-Overview)
- - [Functions We Will Use](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/01-Libraries/ReadLine-and-Aff/04-Basic-Aff-Functions.md#Functions-We-Will-Use)
- - [05 ReadLine Aff.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/01-Libraries/ReadLine-and-Aff/05-ReadLine-Aff.purs)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/01-Libraries/Parallel/ReadMe.md)
+ - [01 Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/01-Libraries/Parallel/01-Syntax.purs)
+ - [11 Instance for Parallel.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/01-Libraries/Parallel/11-Instance-for-Parallel.purs)
- String Parsers
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/01-Libraries/String-Parsers/ReadMe.md)
- - [01 Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/01-Libraries/String-Parsers/01-Syntax.purs)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/01-Libraries/String-Parsers/ReadMe.md)
+ - [01 Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/01-Libraries/String-Parsers/01-Syntax.purs)
- Tree
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/01-Libraries/Tree/ReadMe.md)
- - [01 Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/01-Libraries/Tree/01-Syntax.purs)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/01-Libraries/Tree/ReadMe.md)
+ - [01 Syntax.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/01-Libraries/Tree/01-Syntax.purs)
- 11 Random Number
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/11-Random-Number/ReadMe.md)
- - [Purpose: Exploring The Various Ways One Can Structure the Application](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/11-Random-Number/ReadMe.md#Purpose-Exploring-The-Various-Ways-One-Can-Structure-the-Application)
- - [Libraries Used](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/11-Random-Number/ReadMe.md#Libraries-Used)
- - [Compilation Instructions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/11-Random-Number/ReadMe.md#Compilation-Instructions)
- - [01 Design Thought Process.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/11-Random-Number/01-Design-Thought-Process.md)
- - [Level 4 / Core](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/11-Random-Number/01-Design-Thought-Process.md#Level-4--Core)
- - [Level 3 / Domain](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/11-Random-Number/01-Design-Thought-Process.md#Level-3--Domain)
- - [Level 2 / API](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/11-Random-Number/01-Design-Thought-Process.md#Level-2--API)
- - [Level 1 / Infrastructure](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/11-Random-Number/01-Design-Thought-Process.md#Level-1--Infrastructure)
- - [Level 0 / Machine Code](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/11-Random-Number/01-Design-Thought-Process.md#Level-0--Machine-Code)
- - [Code Warning](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/11-Random-Number/01-Design-Thought-Process.md#Code-Warning)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/11-Random-Number/ReadMe.md)
+ - [Purpose: Exploring The Various Ways One Can Structure the Application](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/11-Random-Number/ReadMe.md#Purpose-Exploring-The-Various-Ways-One-Can-Structure-the-Application)
+ - [Libraries Used](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/11-Random-Number/ReadMe.md#Libraries-Used)
+ - [Compilation Instructions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/11-Random-Number/ReadMe.md#Compilation-Instructions)
+ - [01 Design Thought Process.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/11-Random-Number/01-Design-Thought-Process.md)
+ - [Level 4 / Core](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/11-Random-Number/01-Design-Thought-Process.md#Level-4--Core)
+ - [Level 3 / Domain](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/11-Random-Number/01-Design-Thought-Process.md#Level-3--Domain)
+ - [Level 2 / API](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/11-Random-Number/01-Design-Thought-Process.md#Level-2--API)
+ - [Level 1 / Infrastructure](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/11-Random-Number/01-Design-Thought-Process.md#Level-1--Infrastructure)
+ - [Level 0 / Machine Code](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/11-Random-Number/01-Design-Thought-Process.md#Level-0--Machine-Code)
+ - [Code Warning](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/11-Random-Number/01-Design-Thought-Process.md#Code-Warning)
- 02 Shared Code
- 01 Core
- - [01 Bounded.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/11-Random-Number/02-Shared-Code/01-Core/01-Bounded.purs)
- - [02 RemainingGuesses.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/11-Random-Number/02-Shared-Code/01-Core/02-RemainingGuesses.purs)
- - [03 GameTypes.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/11-Random-Number/02-Shared-Code/01-Core/03-GameTypes.purs)
- - [04 Reexport All Modules.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/11-Random-Number/02-Shared-Code/01-Core/04-Reexport-All-Modules.purs)
+ - [01 Bounded.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/11-Random-Number/02-Shared-Code/01-Core/01-Bounded.purs)
+ - [02 RemainingGuesses.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/11-Random-Number/02-Shared-Code/01-Core/02-RemainingGuesses.purs)
+ - [03 GameTypes.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/11-Random-Number/02-Shared-Code/01-Core/03-GameTypes.purs)
+ - [04 Reexport All Modules.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/11-Random-Number/02-Shared-Code/01-Core/04-Reexport-All-Modules.purs)
- 04 Infrastructure
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/11-Random-Number/02-Shared-Code/04-Infrastructure/ReadMe.md)
- - [01 ReadLine Aff.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/11-Random-Number/02-Shared-Code/04-Infrastructure/01-ReadLine-Aff.purs)
- - [02 User Input.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/11-Random-Number/02-Shared-Code/04-Infrastructure/02-User-Input.purs)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/11-Random-Number/02-Shared-Code/04-Infrastructure/ReadMe.md)
+ - [01 ReadLine Aff.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/11-Random-Number/02-Shared-Code/04-Infrastructure/01-ReadLine-Aff.purs)
+ - [02 User Input.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/11-Random-Number/02-Shared-Code/04-Infrastructure/02-User-Input.purs)
- 11 ReaderT: Standard
- - [02 Domain.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/11-Random-Number/11-ReaderT--Standard/02-Domain.purs)
- - [03 API.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/11-Random-Number/11-ReaderT--Standard/03-API.purs)
+ - [02 Domain.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/11-Random-Number/11-ReaderT--Standard/02-Domain.purs)
+ - [03 API.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/11-Random-Number/11-ReaderT--Standard/03-API.purs)
- 04 Infrastructure
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/11-Random-Number/11-ReaderT--Standard/04-Infrastructure/ReadMe.md)
- - [02 Terminal.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/11-Random-Number/11-ReaderT--Standard/04-Infrastructure/02-Terminal.purs)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/11-Random-Number/11-ReaderT--Standard/04-Infrastructure/ReadMe.md)
+ - [02 Terminal.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/11-Random-Number/11-ReaderT--Standard/04-Infrastructure/02-Terminal.purs)
- 05 Main
- - [01 Console.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/11-Random-Number/11-ReaderT--Standard/05-Main/01-Console.purs)
- - [02 Halogen.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/11-Random-Number/11-ReaderT--Standard/05-Main/02-Halogen.purs)
- - [10 A Second Approach.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/11-Random-Number/11-ReaderT--Standard/10-A-Second-Approach.md)
- - [11 Same Monad.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/11-Random-Number/11-ReaderT--Standard/11-Same-Monad.purs)
+ - [01 Console.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/11-Random-Number/11-ReaderT--Standard/05-Main/01-Console.purs)
+ - [02 Halogen.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/11-Random-Number/11-ReaderT--Standard/05-Main/02-Halogen.purs)
+ - [10 A Second Approach.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/11-Random-Number/11-ReaderT--Standard/10-A-Second-Approach.md)
+ - [11 Same Monad.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/11-Random-Number/11-ReaderT--Standard/11-Same-Monad.purs)
- 12 Table of Contents
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/ReadMe.md)
- - [Libraries Used](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/ReadMe.md#Libraries-Used)
- - [Compilation Instructions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/ReadMe.md#Compilation-Instructions)
- - [01 Design Thought Process.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/01-Design-Thought-Process.md)
- - [Specification](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/01-Design-Thought-Process.md#Specification)
- - [Table of Contents](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/01-Design-Thought-Process.md#Table-of-Contents)
- - [Top-Level Folder](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/01-Design-Thought-Process.md#Top-Level-Folder)
- - [Table of Contents](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/01-Design-Thought-Process.md#Table-of-Contents)
- - [Getting Started](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/01-Design-Thought-Process.md#Getting-Started)
- - [Build Tools](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/01-Design-Thought-Process.md#Build-Tools)
- - [Application Structure](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/01-Design-Thought-Process.md#Application-Structure)
- - [Level 4 / Core](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/01-Design-Thought-Process.md#Level-4--Core)
- - [Level 3 / Domain](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/01-Design-Thought-Process.md#Level-3--Domain)
- - [Level 2 / API](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/01-Design-Thought-Process.md#Level-2--API)
- - [Level 1 / Infrastructure](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/01-Design-Thought-Process.md#Level-1--Infrastructure)
- - [Level 0 / Machine Code](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/01-Design-Thought-Process.md#Level-0--Machine-Code)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/ReadMe.md)
+ - [Libraries Used](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/ReadMe.md#Libraries-Used)
+ - [Compilation Instructions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/ReadMe.md#Compilation-Instructions)
+ - [01 Design Thought Process.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/01-Design-Thought-Process.md)
+ - [Specification](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/01-Design-Thought-Process.md#Specification)
+ - [Table of Contents](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/01-Design-Thought-Process.md#Table-of-Contents)
+ - [Top-Level Folder](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/01-Design-Thought-Process.md#Top-Level-Folder)
+ - [Table of Contents](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/01-Design-Thought-Process.md#Table-of-Contents)
+ - [Getting Started](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/01-Design-Thought-Process.md#Getting-Started)
+ - [Build Tools](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/01-Design-Thought-Process.md#Build-Tools)
+ - [Application Structure](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/01-Design-Thought-Process.md#Application-Structure)
+ - [Level 4 / Core](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/01-Design-Thought-Process.md#Level-4--Core)
+ - [Level 3 / Domain](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/01-Design-Thought-Process.md#Level-3--Domain)
+ - [Level 2 / API](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/01-Design-Thought-Process.md#Level-2--API)
+ - [Level 1 / Infrastructure](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/01-Design-Thought-Process.md#Level-1--Infrastructure)
+ - [Level 0 / Machine Code](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/01-Design-Thought-Process.md#Level-0--Machine-Code)
- 02 Shared Code
- 01 Core
- - [01 Paths.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/02-Shared-Code/01-Core/01-Paths.purs)
- - [02 FileTypes.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/02-Shared-Code/01-Core/02-FileTypes.purs)
- - [03 GitHubLinks.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/02-Shared-Code/01-Core/03-GitHubLinks.purs)
- - [04 Render Types.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/02-Shared-Code/01-Core/04-Render-Types.purs)
+ - [01 Paths.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/02-Shared-Code/01-Core/01-Paths.purs)
+ - [02 FileTypes.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/02-Shared-Code/01-Core/02-FileTypes.purs)
+ - [03 GitHubLinks.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/02-Shared-Code/01-Core/03-GitHubLinks.purs)
+ - [04 Render Types.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/02-Shared-Code/01-Core/04-Render-Types.purs)
- 02 Domain
- - [02 Parser.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/02-Shared-Code/02-Domain/02-Parser.purs)
+ - [02 Parser.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/02-Shared-Code/02-Domain/02-Parser.purs)
- 03 Renderer
- - [01 Markdown.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/02-Shared-Code/02-Domain/03-Renderer/01-Markdown.purs)
- - [02 MarkdownRenderer.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/02-Shared-Code/02-Domain/03-Renderer/02-MarkdownRenderer.purs)
- - [04 Env.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/02-Shared-Code/02-Domain/04-Env.purs)
- - [03 API.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/02-Shared-Code/03-API.purs)
+ - [01 Markdown.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/02-Shared-Code/02-Domain/03-Renderer/01-Markdown.purs)
+ - [02 MarkdownRenderer.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/02-Shared-Code/02-Domain/03-Renderer/02-MarkdownRenderer.purs)
+ - [04 Env.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/02-Shared-Code/02-Domain/04-Env.purs)
+ - [03 API.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/02-Shared-Code/03-API.purs)
- 04 Infrastructure
- - [01 OS FFI.js](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/02-Shared-Code/04-Infrastructure/01-OS-FFI.js)
- - [01 OS FFI.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/02-Shared-Code/04-Infrastructure/01-OS-FFI.purs)
- - [02 HTTP.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/02-Shared-Code/04-Infrastructure/02-HTTP.purs)
- - [03 OptParse.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/02-Shared-Code/04-Infrastructure/03-OptParse.purs)
+ - [01 OS FFI.js](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/02-Shared-Code/04-Infrastructure/01-OS-FFI.js)
+ - [01 OS FFI.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/02-Shared-Code/04-Infrastructure/01-OS-FFI.purs)
+ - [02 HTTP.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/02-Shared-Code/04-Infrastructure/02-HTTP.purs)
+ - [03 OptParse.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/02-Shared-Code/04-Infrastructure/03-OptParse.purs)
- 11 ReaderT
- - [02 Domain.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/11-ReaderT/02-Domain.purs)
- - [03 API.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/11-ReaderT/03-API.purs)
- - [04 Infrastructure.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/11-ReaderT/04-Infrastructure.md)
- - [05 Main.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/11-ReaderT/05-Main.purs)
+ - [02 Domain.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/11-ReaderT/02-Domain.purs)
+ - [03 API.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/11-ReaderT/03-API.purs)
+ - [04 Infrastructure.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/11-ReaderT/04-Infrastructure.md)
+ - [05 Main.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/11-ReaderT/05-Main.purs)
- 12 Run
- - [02 Domain.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/12-Run/02-Domain.purs)
- - [03 API.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/12-Run/03-API.purs)
- - [04 Infrastructure.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/12-Run/04-Infrastructure.md)
- - [05 Main.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/src/12-Table-of-Contents/12-Run/05-Main.purs)
+ - [02 Domain.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/12-Run/02-Domain.purs)
+ - [03 API.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/12-Run/03-API.purs)
+ - [04 Infrastructure.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/12-Run/04-Infrastructure.md)
+ - [05 Main.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/src/12-Table-of-Contents/12-Run/05-Main.purs)
- test
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/ReadMe.md)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/ReadMe.md)
- 11 Random Number
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/11-Random-Number/ReadMe.md)
- - [Where's the `Free`-based Tests?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/11-Random-Number/ReadMe.md#Wheres-the-Free-based-Tests)
- - [01 Test Thought Process.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/11-Random-Number/01-Test-Thought-Process.md)
- - [Overview of Our Testing Approach](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/11-Random-Number/01-Test-Thought-Process.md#Overview-of-Our-Testing-Approach)
- - [Reviewing Our Game's Properties](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/11-Random-Number/01-Test-Thought-Process.md#Reviewing-Our-Games-Properties)
- - [Generating Our Test Data](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/11-Random-Number/01-Test-Thought-Process.md#Generating-Our-Test-Data)
- - [Random Number](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/11-Random-Number/01-Test-Thought-Process.md#Random-Number)
- - [User Inputs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/11-Random-Number/01-Test-Thought-Process.md#User-Inputs)
- - [Game Result](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/11-Random-Number/01-Test-Thought-Process.md#Game-Result)
- - [Defining its Arbitrary instance](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/11-Random-Number/01-Test-Thought-Process.md#Defining-its-Arbitrary-instance)
- - [02 Generators.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/11-Random-Number/02-Generators.purs)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/11-Random-Number/ReadMe.md)
+ - [Where's the `Free`-based Tests?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/11-Random-Number/ReadMe.md#Wheres-the-Free-based-Tests)
+ - [01 Test Thought Process.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/11-Random-Number/01-Test-Thought-Process.md)
+ - [Overview of Our Testing Approach](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/11-Random-Number/01-Test-Thought-Process.md#Overview-of-Our-Testing-Approach)
+ - [Reviewing Our Game's Properties](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/11-Random-Number/01-Test-Thought-Process.md#Reviewing-Our-Games-Properties)
+ - [Generating Our Test Data](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/11-Random-Number/01-Test-Thought-Process.md#Generating-Our-Test-Data)
+ - [Random Number](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/11-Random-Number/01-Test-Thought-Process.md#Random-Number)
+ - [User Inputs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/11-Random-Number/01-Test-Thought-Process.md#User-Inputs)
+ - [Game Result](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/11-Random-Number/01-Test-Thought-Process.md#Game-Result)
+ - [Defining its Arbitrary instance](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/11-Random-Number/01-Test-Thought-Process.md#Defining-its-Arbitrary-instance)
+ - [02 Generators.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/11-Random-Number/02-Generators.purs)
- 11 ReaderT: Standard
- - [01 Different Monad.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/11-Random-Number/11-ReaderT--Standard/01-Different-Monad.purs)
- - [02 Test Analysis.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/11-Random-Number/11-ReaderT--Standard/02-Test-Analysis.md)
- - [03 Same Monad.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/11-Random-Number/11-ReaderT--Standard/03-Same-Monad.purs)
+ - [01 Different Monad.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/11-Random-Number/11-ReaderT--Standard/01-Different-Monad.purs)
+ - [02 Test Analysis.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/11-Random-Number/11-ReaderT--Standard/02-Test-Analysis.md)
+ - [03 Same Monad.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/11-Random-Number/11-ReaderT--Standard/03-Same-Monad.purs)
- 12 Table of Contents
- - [01 Test Thought Process.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/12-Table-of-Contents/01-Test-Thought-Process.md)
- - [Overview of Our Testing Approach](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/12-Table-of-Contents/01-Test-Thought-Process.md#Overview-of-Our-Testing-Approach)
- - [The Random Number Game Approach Won't Work](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/12-Table-of-Contents/01-Test-Thought-Process.md#The-Random-Number-Game-Approach-Wont-Work)
- - [Decomposing Our Tests](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/12-Table-of-Contents/01-Test-Thought-Process.md#Decomposing-Our-Tests)
- - [The Main Logic Tests](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/12-Table-of-Contents/01-Test-Thought-Process.md#The-Main-Logic-Tests)
- - [Generating Data for the Main Tests](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/12-Table-of-Contents/01-Test-Thought-Process.md#Generating-Data-for-the-Main-Tests)
- - [The "Outsourced" Logic Tests](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/12-Table-of-Contents/01-Test-Thought-Process.md#The-Outsourced-Logic-Tests)
- - [Generating Our Test Data](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/12-Table-of-Contents/01-Test-Thought-Process.md#Generating-Our-Test-Data)
- - [The Golden Test](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/12-Table-of-Contents/01-Test-Thought-Process.md#The-Golden-Test)
- - [Generating Our Test Data](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/12-Table-of-Contents/01-Test-Thought-Process.md#Generating-Our-Test-Data)
+ - [01 Test Thought Process.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/12-Table-of-Contents/01-Test-Thought-Process.md)
+ - [Overview of Our Testing Approach](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/12-Table-of-Contents/01-Test-Thought-Process.md#Overview-of-Our-Testing-Approach)
+ - [The Random Number Game Approach Won't Work](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/12-Table-of-Contents/01-Test-Thought-Process.md#The-Random-Number-Game-Approach-Wont-Work)
+ - [Decomposing Our Tests](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/12-Table-of-Contents/01-Test-Thought-Process.md#Decomposing-Our-Tests)
+ - [The Main Logic Tests](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/12-Table-of-Contents/01-Test-Thought-Process.md#The-Main-Logic-Tests)
+ - [Generating Data for the Main Tests](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/12-Table-of-Contents/01-Test-Thought-Process.md#Generating-Data-for-the-Main-Tests)
+ - [The "Outsourced" Logic Tests](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/12-Table-of-Contents/01-Test-Thought-Process.md#The-Outsourced-Logic-Tests)
+ - [Generating Our Test Data](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/12-Table-of-Contents/01-Test-Thought-Process.md#Generating-Our-Test-Data)
+ - [The Golden Test](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/12-Table-of-Contents/01-Test-Thought-Process.md#The-Golden-Test)
+ - [Generating Our Test Data](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/12-Table-of-Contents/01-Test-Thought-Process.md#Generating-Our-Test-Data)
- 02 Main Logic
- - [01 Common.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/12-Table-of-Contents/02-Main-Logic/01-Common.purs)
- - [02 Generators.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/12-Table-of-Contents/02-Main-Logic/02-Generators.purs)
- - [03 ToCTestData.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/12-Table-of-Contents/02-Main-Logic/03-ToCTestData.purs)
- - [11 ReaderT.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/12-Table-of-Contents/02-Main-Logic/11-ReaderT.purs)
- - [12 Run.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/12-Table-of-Contents/02-Main-Logic/12-Run.purs)
- - [13 QuickCheckTest.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/12-Table-of-Contents/02-Main-Logic/13-QuickCheckTest.purs)
+ - [01 Common.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/12-Table-of-Contents/02-Main-Logic/01-Common.purs)
+ - [02 Generators.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/12-Table-of-Contents/02-Main-Logic/02-Generators.purs)
+ - [03 ToCTestData.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/12-Table-of-Contents/02-Main-Logic/03-ToCTestData.purs)
+ - [11 ReaderT.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/12-Table-of-Contents/02-Main-Logic/11-ReaderT.purs)
+ - [12 Run.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/12-Table-of-Contents/02-Main-Logic/12-Run.purs)
+ - [13 QuickCheckTest.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/12-Table-of-Contents/02-Main-Logic/13-QuickCheckTest.purs)
- 03 Parser Logic
- - [01 GitHub Header Exploration.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/12-Table-of-Contents/03-Parser-Logic/01-GitHub-Header-Exploration.md)
- - [Basic Examples](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/12-Table-of-Contents/03-Parser-Logic/01-GitHub-Header-Exploration.md#Basic-Examples)
- - [Simple Phrase](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/12-Table-of-Contents/03-Parser-Logic/01-GitHub-Header-Exploration.md#Simple-Phrase)
- - [Phrase with punctuation throughout start~`!@#$%^&*()-_=+[{]};:'",<.>/?end](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/12-Table-of-Contents/03-Parser-Logic/01-GitHub-Header-Exploration.md#Phrase-with-punctuation-throughout-start-_end)
- - [Examples with WhiteSpace](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/12-Table-of-Contents/03-Parser-Logic/01-GitHub-Header-Exploration.md#Examples-with-WhiteSpace)
- - [Spaces Before](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/12-Table-of-Contents/03-Parser-Logic/01-GitHub-Header-Exploration.md#Spaces-Before)
- - [Spaces After](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/12-Table-of-Contents/03-Parser-Logic/01-GitHub-Header-Exploration.md#Spaces-After)
- - [Examples with Hyphens](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/12-Table-of-Contents/03-Parser-Logic/01-GitHub-Header-Exploration.md#Examples-with-Hyphens)
- - [Single - Hyphen](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/12-Table-of-Contents/03-Parser-Logic/01-GitHub-Header-Exploration.md#Single---Hyphen)
- - [Multiple ---- Hyphens](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/12-Table-of-Contents/03-Parser-Logic/01-GitHub-Header-Exploration.md#Multiple------Hyphens)
- - [- Starts with Hyphen](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/12-Table-of-Contents/03-Parser-Logic/01-GitHub-Header-Exploration.md#--Starts-with-Hyphen)
- - [Ends with Hyphen -](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/12-Table-of-Contents/03-Parser-Logic/01-GitHub-Header-Exploration.md#Ends-with-Hyphen--)
- - [02 Generators.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/12-Table-of-Contents/03-Parser-Logic/02-Generators.purs)
- - [03 QuickCheckTest.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/test/12-Table-of-Contents/03-Parser-Logic/03-QuickCheckTest.purs)
+ - [01 GitHub Header Exploration.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/12-Table-of-Contents/03-Parser-Logic/01-GitHub-Header-Exploration.md)
+ - [Basic Examples](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/12-Table-of-Contents/03-Parser-Logic/01-GitHub-Header-Exploration.md#Basic-Examples)
+ - [Simple Phrase](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/12-Table-of-Contents/03-Parser-Logic/01-GitHub-Header-Exploration.md#Simple-Phrase)
+ - [Phrase with punctuation throughout start~`!@#$%^&*()-_=+[{]};:'",<.>/?end](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/12-Table-of-Contents/03-Parser-Logic/01-GitHub-Header-Exploration.md#Phrase-with-punctuation-throughout-start-_end)
+ - [Examples with WhiteSpace](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/12-Table-of-Contents/03-Parser-Logic/01-GitHub-Header-Exploration.md#Examples-with-WhiteSpace)
+ - [Spaces Before](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/12-Table-of-Contents/03-Parser-Logic/01-GitHub-Header-Exploration.md#Spaces-Before)
+ - [Spaces After](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/12-Table-of-Contents/03-Parser-Logic/01-GitHub-Header-Exploration.md#Spaces-After)
+ - [Examples with Hyphens](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/12-Table-of-Contents/03-Parser-Logic/01-GitHub-Header-Exploration.md#Examples-with-Hyphens)
+ - [Single - Hyphen](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/12-Table-of-Contents/03-Parser-Logic/01-GitHub-Header-Exploration.md#Single---Hyphen)
+ - [Multiple ---- Hyphens](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/12-Table-of-Contents/03-Parser-Logic/01-GitHub-Header-Exploration.md#Multiple------Hyphens)
+ - [- Starts with Hyphen](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/12-Table-of-Contents/03-Parser-Logic/01-GitHub-Header-Exploration.md#--Starts-with-Hyphen)
+ - [Ends with Hyphen -](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/12-Table-of-Contents/03-Parser-Logic/01-GitHub-Header-Exploration.md#Ends-with-Hyphen--)
+ - [02 Generators.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/12-Table-of-Contents/03-Parser-Logic/02-Generators.purs)
+ - [03 QuickCheckTest.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/test/12-Table-of-Contents/03-Parser-Logic/03-QuickCheckTest.purs)
- z dead
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/ReadMe.md)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/ReadMe.md)
- 11 Random Number
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/ReadMe.md)
- - [Compilation Instructions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/ReadMe.md#Compilation-Instructions)
- - [Standard](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/ReadMe.md#Standard)
- - [Layered](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/ReadMe.md#Layered)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/ReadMe.md)
+ - [Compilation Instructions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/ReadMe.md#Compilation-Instructions)
+ - [Standard](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/ReadMe.md#Standard)
+ - [Layered](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/ReadMe.md#Layered)
- src
- 12 Free: Standard
- - [02 Domain.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/12-Free--Standard/02-Domain.purs)
- - [03 API.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/12-Free--Standard/03-API.purs)
+ - [02 Domain.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/12-Free--Standard/02-Domain.purs)
+ - [03 API.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/12-Free--Standard/03-API.purs)
- 04 Infrastructure
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/12-Free--Standard/04-Infrastructure/ReadMe.md)
- - [02 Terminal.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/12-Free--Standard/04-Infrastructure/02-Terminal.purs)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/12-Free--Standard/04-Infrastructure/ReadMe.md)
+ - [02 Terminal.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/12-Free--Standard/04-Infrastructure/02-Terminal.purs)
- 05 Main
- - [01 Console.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/12-Free--Standard/05-Main/01-Console.purs)
- - [02 Halogen.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/12-Free--Standard/05-Main/02-Halogen.purs)
+ - [01 Console.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/12-Free--Standard/05-Main/01-Console.purs)
+ - [02 Halogen.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/12-Free--Standard/05-Main/02-Halogen.purs)
- 13 Run: Standard
- - [02 Domain.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/13-Run--Standard/02-Domain.purs)
- - [03 API.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/13-Run--Standard/03-API.purs)
+ - [02 Domain.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/13-Run--Standard/02-Domain.purs)
+ - [03 API.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/13-Run--Standard/03-API.purs)
- 04 Infrastructure
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/13-Run--Standard/04-Infrastructure/ReadMe.md)
- - [02 Terminal.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/13-Run--Standard/04-Infrastructure/02-Terminal.purs)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/13-Run--Standard/04-Infrastructure/ReadMe.md)
+ - [02 Terminal.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/13-Run--Standard/04-Infrastructure/02-Terminal.purs)
- 05 Main
- - [01 Console.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/13-Run--Standard/05-Main/01-Console.purs)
- - [02 Halogen.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/13-Run--Standard/05-Main/02-Halogen.purs)
+ - [01 Console.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/13-Run--Standard/05-Main/01-Console.purs)
+ - [02 Halogen.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/13-Run--Standard/05-Main/02-Halogen.purs)
- 22 Free: Layered
- - [02 High Level Domain.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/22-Free--Layered/02-High-Level-Domain.purs)
- - [03 Low Level Domain.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/22-Free--Layered/03-Low-Level-Domain.purs)
- - [04 API.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/22-Free--Layered/04-API.purs)
+ - [02 High Level Domain.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/22-Free--Layered/02-High-Level-Domain.purs)
+ - [03 Low Level Domain.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/22-Free--Layered/03-Low-Level-Domain.purs)
+ - [04 API.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/22-Free--Layered/04-API.purs)
- 05 Infrastructure
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/22-Free--Layered/05-Infrastructure/ReadMe.md)
- - [02 Terminal.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/22-Free--Layered/05-Infrastructure/02-Terminal.purs)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/22-Free--Layered/05-Infrastructure/ReadMe.md)
+ - [02 Terminal.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/22-Free--Layered/05-Infrastructure/02-Terminal.purs)
- 06 Main
- - [01 Console.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/22-Free--Layered/06-Main/01-Console.purs)
- - [02 Halogen.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/22-Free--Layered/06-Main/02-Halogen.purs)
- - [07 Analysis.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/22-Free--Layered/07-Analysis.md)
- - [Hard-Coded Language](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/22-Free--Layered/07-Analysis.md#Hard-Coded-Language)
- - [Unnecessary Translations](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/22-Free--Layered/07-Analysis.md#Unnecessary-Translations)
- - [Tightly-Coupled Code](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/22-Free--Layered/07-Analysis.md#Tightly-Coupled-Code)
+ - [01 Console.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/22-Free--Layered/06-Main/01-Console.purs)
+ - [02 Halogen.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/22-Free--Layered/06-Main/02-Halogen.purs)
+ - [07 Analysis.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/22-Free--Layered/07-Analysis.md)
+ - [Hard-Coded Language](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/22-Free--Layered/07-Analysis.md#Hard-Coded-Language)
+ - [Unnecessary Translations](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/22-Free--Layered/07-Analysis.md#Unnecessary-Translations)
+ - [Tightly-Coupled Code](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/22-Free--Layered/07-Analysis.md#Tightly-Coupled-Code)
- 23 Run: Layered
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/23-Run--Layered/ReadMe.md)
- - [Translating Between Languages](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/23-Run--Layered/ReadMe.md#Translating-Between-Languages)
- - [02 High Level Domain.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/23-Run--Layered/02-High-Level-Domain.purs)
- - [03 Low Level Domain.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/23-Run--Layered/03-Low-Level-Domain.purs)
- - [04 API.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/23-Run--Layered/04-API.purs)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/23-Run--Layered/ReadMe.md)
+ - [Translating Between Languages](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/23-Run--Layered/ReadMe.md#Translating-Between-Languages)
+ - [02 High Level Domain.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/23-Run--Layered/02-High-Level-Domain.purs)
+ - [03 Low Level Domain.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/23-Run--Layered/03-Low-Level-Domain.purs)
+ - [04 API.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/23-Run--Layered/04-API.purs)
- 05 Infrastructure
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/23-Run--Layered/05-Infrastructure/ReadMe.md)
- - [02 Terminal.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/23-Run--Layered/05-Infrastructure/02-Terminal.purs)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/23-Run--Layered/05-Infrastructure/ReadMe.md)
+ - [02 Terminal.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/23-Run--Layered/05-Infrastructure/02-Terminal.purs)
- 06 Main
- - [01 Console.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/23-Run--Layered/06-Main/01-Console.purs)
- - [02 Halogen.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/23-Run--Layered/06-Main/02-Halogen.purs)
- - [07 Change Implementation.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/23-Run--Layered/07-Change-Implementation.purs)
- - [08 Add API Term.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/23-Run--Layered/08-Add-API-Term.purs)
- - [09 Analysis.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/src/23-Run--Layered/09-Analysis.md)
+ - [01 Console.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/23-Run--Layered/06-Main/01-Console.purs)
+ - [02 Halogen.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/23-Run--Layered/06-Main/02-Halogen.purs)
+ - [07 Change Implementation.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/23-Run--Layered/07-Change-Implementation.purs)
+ - [08 Add API Term.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/23-Run--Layered/08-Add-API-Term.purs)
+ - [09 Analysis.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/src/23-Run--Layered/09-Analysis.md)
- test
- - [13 Run: Standard.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/test/13-Run--Standard.purs)
- - [23 Run: Layered.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/22-Projects/z-dead/11-Random-Number/test/23-Run--Layered.purs)
+ - [13 Run: Standard.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/test/13-Run--Standard.purs)
+ - [23 Run: Layered.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/22-Projects/z-dead/11-Random-Number/test/23-Run--Layered.purs)
## 31 Design Patterns
-- [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/ReadMe.md)
-- [01 Smart Constructors.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/01-Smart-Constructors.md)
- - [The Problem](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/01-Smart-Constructors.md#The-Problem)
- - [The Solution](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/01-Smart-Constructors.md#The-Solution)
+- [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/ReadMe.md)
+- [01 Smart Constructors.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/01-Smart-Constructors.md)
+ - [The Problem](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/01-Smart-Constructors.md#The-Problem)
+ - [The Solution](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/01-Smart-Constructors.md#The-Solution)
- 02 Partial Functions
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/02-Partial-Functions/ReadMe.md)
- - [Compilation Instruction](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/02-Partial-Functions/ReadMe.md#Compilation-Instruction)
- - [Other Useful Links](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/02-Partial-Functions/ReadMe.md#Other-Useful-Links)
- - [01 Via Partial.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/02-Partial-Functions/01-Via-Partial.purs)
- - [02 Via Maybe.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/02-Partial-Functions/02-Via-Maybe.purs)
- - [03 Via Either String.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/02-Partial-Functions/03-Via-Either-String.purs)
- - [04 Via Either ErrorType.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/02-Partial-Functions/04-Via-Either-ErrorType.purs)
- - [05 Via Refined Types.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/02-Partial-Functions/05-Via-Refined-Types.purs)
- - [06 Using Variant Based Errors.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/02-Partial-Functions/06-Using-Variant-Based-Errors.md)
- - [07 Via Default Values.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/02-Partial-Functions/07-Via-Default-Values.md)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/02-Partial-Functions/ReadMe.md)
+ - [Compilation Instruction](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/02-Partial-Functions/ReadMe.md#Compilation-Instruction)
+ - [Other Useful Links](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/02-Partial-Functions/ReadMe.md#Other-Useful-Links)
+ - [01 Via Partial.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/02-Partial-Functions/01-Via-Partial.purs)
+ - [02 Via Maybe.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/02-Partial-Functions/02-Via-Maybe.purs)
+ - [03 Via Either String.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/02-Partial-Functions/03-Via-Either-String.purs)
+ - [04 Via Either ErrorType.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/02-Partial-Functions/04-Via-Either-ErrorType.purs)
+ - [05 Via Refined Types.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/02-Partial-Functions/05-Via-Refined-Types.purs)
+ - [06 Using Variant Based Errors.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/02-Partial-Functions/06-Using-Variant-Based-Errors.md)
+ - [07 Via Default Values.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/02-Partial-Functions/07-Via-Default-Values.md)
- 03 Phantom Types
- - [01 What Are Phantom Types.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/03-Phantom-Types/01-What-Are-Phantom-Types.md)
- - [Why Are PhantomTypes Useful?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/03-Phantom-Types/01-What-Are-Phantom-Types.md#Why-Are-PhantomTypes-Useful)
- - [02 Restricting Argument Types.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/03-Phantom-Types/02-Restricting-Argument-Types.purs)
-- [04 Records: Use Type Data or Newtype.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/04-Records--Use-Type-Data-or-Newtype.md)
-- [05 Data Validation via Applicative.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/05-Data-Validation-via-Applicative.md)
- - [Possible Choices](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/05-Data-Validation-via-Applicative.md#Possible-Choices)
- - [The Pattern](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/05-Data-Validation-via-Applicative.md#The-Pattern)
-- [06 Variance of Functors.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/06-Variance-of-Functors.md)
- - [Functor Re-examined](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/06-Variance-of-Functors.md#Functor-Re-examined)
- - [Positive and Negative Position](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/06-Variance-of-Functors.md#Positive-and-Negative-Position)
-- [07 Simulating Constraint Kinds.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/07-Simulating-Constraint-Kinds.md)
-- [08 A Better TODO.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/08-A-Better-TODO.md)
-- [09 Stack Safety.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/09-Stack-Safety.md)
- - [An Example of Stack-Unsafe Code](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/09-Stack-Safety.md#An-Example-of-Stack-Unsafe-Code)
- - [Tail-Call Optimization for Pure Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/09-Stack-Safety.md#Tail-Call-Optimization-for-Pure-Functions)
- - [Tail-Call Optimization for Monadic Computations](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/09-Stack-Safety.md#Tail-Call-Optimization-for-Monadic-Computations)
- - [Three Caveats of Using `tailRecM`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/09-Stack-Safety.md#Three-Caveats-of-Using-tailRecM)
- - [Us `Trampoline`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/09-Stack-Safety.md#Us-Trampoline)
- - [Use Mutable State (`Ref`s) and `whileE`/`untilE`/`forE`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/09-Stack-Safety.md#Use-Mutable-State-Refs-and-whileEuntilEforE)
- - [A Note on `Aff`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/09-Stack-Safety.md#A-Note-on-Aff)
-- [11 Zipper.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/11-Zipper.md)
- - [The Problem](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/11-Zipper.md#The-Problem)
- - [The Solution](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/11-Zipper.md#The-Solution)
-- [12 GADTs.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/12-GADTs.md)
-- [13 Existential Types.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/13-Existential-Types.purs)
-- [14 Cursors.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/14-Cursors.md)
-- [15 Optics.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/15-Optics.md)
- - [Lenses](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/15-Optics.md#Lenses)
-- [1x Recursion Schemes.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/31-Design-Patterns/1x-Recursion-Schemes.md)
+ - [01 What Are Phantom Types.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/03-Phantom-Types/01-What-Are-Phantom-Types.md)
+ - [Why Are PhantomTypes Useful?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/03-Phantom-Types/01-What-Are-Phantom-Types.md#Why-Are-PhantomTypes-Useful)
+ - [02 Restricting Argument Types.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/03-Phantom-Types/02-Restricting-Argument-Types.purs)
+- [04 Records: Use Type Data or Newtype.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/04-Records--Use-Type-Data-or-Newtype.md)
+- [05 Data Validation via Applicative.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/05-Data-Validation-via-Applicative.md)
+ - [Possible Choices](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/05-Data-Validation-via-Applicative.md#Possible-Choices)
+ - [The Pattern](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/05-Data-Validation-via-Applicative.md#The-Pattern)
+- [06 Variance of Functors.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/06-Variance-of-Functors.md)
+ - [Functor Re-examined](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/06-Variance-of-Functors.md#Functor-Re-examined)
+ - [Positive and Negative Position](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/06-Variance-of-Functors.md#Positive-and-Negative-Position)
+- [07 Simulating Constraint Kinds.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/07-Simulating-Constraint-Kinds.md)
+- [08 A Better TODO.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/08-A-Better-TODO.md)
+- [09 Stack Safety.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/09-Stack-Safety.md)
+ - [An Example of Stack-Unsafe Code](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/09-Stack-Safety.md#An-Example-of-Stack-Unsafe-Code)
+ - [Tail-Call Optimization for Pure Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/09-Stack-Safety.md#Tail-Call-Optimization-for-Pure-Functions)
+ - [Tail-Call Optimization for Monadic Computations](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/09-Stack-Safety.md#Tail-Call-Optimization-for-Monadic-Computations)
+ - [Three Caveats of Using `tailRecM`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/09-Stack-Safety.md#Three-Caveats-of-Using-tailRecM)
+ - [Us `Trampoline`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/09-Stack-Safety.md#Us-Trampoline)
+ - [Use Mutable State (`Ref`s) and `whileE`/`untilE`/`forE`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/09-Stack-Safety.md#Use-Mutable-State-Refs-and-whileEuntilEforE)
+ - [A Note on `Aff`](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/09-Stack-Safety.md#A-Note-on-Aff)
+- [11 Zipper.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/11-Zipper.md)
+ - [The Problem](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/11-Zipper.md#The-Problem)
+ - [The Solution](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/11-Zipper.md#The-Solution)
+- [12 GADTs.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/12-GADTs.md)
+- [13 Existential Types.purs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/13-Existential-Types.purs)
+- [14 Cursors.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/14-Cursors.md)
+- [15 Optics.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/15-Optics.md)
+ - [Lenses](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/15-Optics.md#Lenses)
+- [1x Recursion Schemes.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/31-Design-Patterns/1x-Recursion-Schemes.md)
## 41 Ecosystem
-- [Readme.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Readme.md)
- - [Other Useful Links](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Readme.md#Other-Useful-Links)
- - [Things Related to PureScript](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Readme.md#Things-Related-to-PureScript)
- - [Advanced Links](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Readme.md#Advanced-Links)
+- [Readme.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Readme.md)
+ - [Other Useful Links](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Readme.md#Other-Useful-Links)
+ - [Things Related to PureScript](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Readme.md#Things-Related-to-PureScript)
+ - [Advanced Links](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Readme.md#Advanced-Links)
- Data Types
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/ReadMe.md)
- - [Philosophical Foundations for FP Data Types](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/ReadMe.md#Philosophical-Foundations-for-FP-Data-Types)
- - [Principles](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/ReadMe.md#Principles)
- - [Lazy vs Strict](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/ReadMe.md#Lazy-vs-Strict)
- - [Big O Notation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/ReadMe.md#Big-O-Notation)
- - [Deeper Reading](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/ReadMe.md#Deeper-Reading)
- - [See Also](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/ReadMe.md#See-Also)
- - [01 Primitives.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/01-Primitives.md)
- - [Miscellaneous but Important](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/01-Primitives.md#Miscellaneous-but-Important)
- - [Identity](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/01-Primitives.md#Identity)
- - [Globals](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/01-Primitives.md#Globals)
- - [Number-related](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/01-Primitives.md#Number-related)
- - [Int](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/01-Primitives.md#Int)
- - [Math](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/01-Primitives.md#Math)
- - [Rationals](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/01-Primitives.md#Rationals)
- - [Precise](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/01-Primitives.md#Precise)
- - [Numerics](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/01-Primitives.md#Numerics)
- - [BigIntegers](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/01-Primitives.md#BigIntegers)
- - [Decimals](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/01-Primitives.md#Decimals)
- - [Strings](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/01-Primitives.md#Strings)
- - [Binary (Outdated)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/01-Primitives.md#Binary-Outdated)
- - [Matrix](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/01-Primitives.md#Matrix)
- - [02 Maybe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/02-Maybe.md)
- - [03 Sum and Product Types.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/03-Sum-and-Product-Types.md)
- - [What does 'Open' mean?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/03-Sum-and-Product-Types.md#What-does-Open-mean)
- - [The Types](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/03-Sum-and-Product-Types.md#The-Types)
- - [Tuple](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/03-Sum-and-Product-Types.md#Tuple)
- - [Record](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/03-Sum-and-Product-Types.md#Record)
- - [Either](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/03-Sum-and-Product-Types.md#Either)
- - [Variant](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/03-Sum-and-Product-Types.md#Variant)
- - [These](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/03-Sum-and-Product-Types.md#These)
- - [Concluding Thoughts](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/03-Sum-and-Product-Types.md#Concluding-Thoughts)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/ReadMe.md)
+ - [Philosophical Foundations for FP Data Types](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/ReadMe.md#Philosophical-Foundations-for-FP-Data-Types)
+ - [Principles](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/ReadMe.md#Principles)
+ - [Lazy vs Strict](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/ReadMe.md#Lazy-vs-Strict)
+ - [Big O Notation](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/ReadMe.md#Big-O-Notation)
+ - [Deeper Reading](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/ReadMe.md#Deeper-Reading)
+ - [See Also](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/ReadMe.md#See-Also)
+ - [01 Primitives.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/01-Primitives.md)
+ - [Miscellaneous but Important](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/01-Primitives.md#Miscellaneous-but-Important)
+ - [Identity](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/01-Primitives.md#Identity)
+ - [Globals](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/01-Primitives.md#Globals)
+ - [Number-related](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/01-Primitives.md#Number-related)
+ - [Int](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/01-Primitives.md#Int)
+ - [Math](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/01-Primitives.md#Math)
+ - [Rationals](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/01-Primitives.md#Rationals)
+ - [Precise](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/01-Primitives.md#Precise)
+ - [Numerics](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/01-Primitives.md#Numerics)
+ - [BigIntegers](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/01-Primitives.md#BigIntegers)
+ - [Decimals](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/01-Primitives.md#Decimals)
+ - [Strings](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/01-Primitives.md#Strings)
+ - [Binary (Outdated)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/01-Primitives.md#Binary-Outdated)
+ - [Matrix](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/01-Primitives.md#Matrix)
+ - [02 Maybe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/02-Maybe.md)
+ - [03 Sum and Product Types.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/03-Sum-and-Product-Types.md)
+ - [What does 'Open' mean?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/03-Sum-and-Product-Types.md#What-does-Open-mean)
+ - [The Types](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/03-Sum-and-Product-Types.md#The-Types)
+ - [Tuple](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/03-Sum-and-Product-Types.md#Tuple)
+ - [Record](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/03-Sum-and-Product-Types.md#Record)
+ - [Either](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/03-Sum-and-Product-Types.md#Either)
+ - [Variant](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/03-Sum-and-Product-Types.md#Variant)
+ - [These](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/03-Sum-and-Product-Types.md#These)
+ - [Concluding Thoughts](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/03-Sum-and-Product-Types.md#Concluding-Thoughts)
- 04 Collections
- - [01 List Like.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/04-Collections/01-List-Like.md)
- - [Array (Mutable)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/04-Collections/01-List-Like.md#Array-Mutable)
- - [Array (Immutable)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/04-Collections/01-List-Like.md#Array-Immutable)
- - [Vec](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/04-Collections/01-List-Like.md#Vec)
- - [List (Strict)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/04-Collections/01-List-Like.md#List-Strict)
- - [List (Lazy)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/04-Collections/01-List-Like.md#List-Lazy)
- - [List (Size Known at Compile-Time)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/04-Collections/01-List-Like.md#List-Size-Known-at-Compile-Time)
- - [02 Map Like.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/04-Collections/02-Map-Like.md)
- - [Map (Ord-based)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/04-Collections/02-Map-Like.md#Map-Ord-based)
- - [Map (Hash-based)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/04-Collections/02-Map-Like.md#Map-Hash-based)
- - [Vault (Key-Type-based; outdated)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/04-Collections/02-Map-Like.md#Vault-Key-Type-based-outdated)
- - [03 Sets.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/04-Collections/03-Sets.md)
- - [Set (Ord-based)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/04-Collections/03-Sets.md#Set-Ord-based)
- - [Set (Hash-based)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/04-Collections/03-Sets.md#Set-Hash-based)
- - [04 All Others.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/04-Collections/04-All-Others.md)
- - [Finger Tree](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/04-Collections/04-All-Others.md#Finger-Tree)
- - [Bitmapped Vector Trie](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/04-Collections/04-All-Others.md#Bitmapped-Vector-Trie)
- - [Seq](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/04-Collections/04-All-Others.md#Seq)
- - [Graphs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/04-Collections/04-All-Others.md#Graphs)
- - [Queues](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/04-Collections/04-All-Others.md#Queues)
- - [Outdated](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/04-Collections/04-All-Others.md#Outdated)
- - [Heap (outdated)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/04-Collections/04-All-Others.md#Heap-outdated)
- - [Priority Queue (outdated)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/04-Collections/04-All-Others.md#Priority-Queue-outdated)
- - [Rose or Multi-Way Tree (outdated)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/04-Collections/04-All-Others.md#Rose-or-Multi-Way-Tree-outdated)
- - [Trie (outdated)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/04-Collections/04-All-Others.md#Trie-outdated)
- - [05 NonEmpty.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/04-Collections/05-NonEmpty.md)
- - [05 Miscellaneous.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/05-Miscellaneous.md)
- - [Codecs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/05-Miscellaneous.md#Codecs)
- - [Unit Types (Runtime only)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/05-Miscellaneous.md#Unit-Types-Runtime-only)
- - [Options](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/05-Miscellaneous.md#Options)
- - [Semver Versioning](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/05-Miscellaneous.md#Semver-Versioning)
- - [Date/DateTime/Time/Integral](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/05-Miscellaneous.md#DateDateTimeTimeIntegral)
- - [Date Time](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/05-Miscellaneous.md#Date-Time)
- - [Media Types](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/05-Miscellaneous.md#Media-Types)
- - [Syntax](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/05-Miscellaneous.md#Syntax)
- - [HTTP method type](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/05-Miscellaneous.md#HTTP-method-type)
- - [Text Encoder/Decoder](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Data-Types/05-Miscellaneous.md#Text-EncoderDecoder)
+ - [01 List Like.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/04-Collections/01-List-Like.md)
+ - [Array (Mutable)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/04-Collections/01-List-Like.md#Array-Mutable)
+ - [Array (Immutable)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/04-Collections/01-List-Like.md#Array-Immutable)
+ - [Vec](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/04-Collections/01-List-Like.md#Vec)
+ - [List (Strict)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/04-Collections/01-List-Like.md#List-Strict)
+ - [List (Lazy)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/04-Collections/01-List-Like.md#List-Lazy)
+ - [List (Size Known at Compile-Time)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/04-Collections/01-List-Like.md#List-Size-Known-at-Compile-Time)
+ - [02 Map Like.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/04-Collections/02-Map-Like.md)
+ - [Map (Ord-based)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/04-Collections/02-Map-Like.md#Map-Ord-based)
+ - [Map (Hash-based)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/04-Collections/02-Map-Like.md#Map-Hash-based)
+ - [Vault (Key-Type-based; outdated)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/04-Collections/02-Map-Like.md#Vault-Key-Type-based-outdated)
+ - [03 Sets.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/04-Collections/03-Sets.md)
+ - [Set (Ord-based)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/04-Collections/03-Sets.md#Set-Ord-based)
+ - [Set (Hash-based)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/04-Collections/03-Sets.md#Set-Hash-based)
+ - [04 All Others.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/04-Collections/04-All-Others.md)
+ - [Finger Tree](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/04-Collections/04-All-Others.md#Finger-Tree)
+ - [Bitmapped Vector Trie](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/04-Collections/04-All-Others.md#Bitmapped-Vector-Trie)
+ - [Seq](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/04-Collections/04-All-Others.md#Seq)
+ - [Graphs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/04-Collections/04-All-Others.md#Graphs)
+ - [Queues](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/04-Collections/04-All-Others.md#Queues)
+ - [Outdated](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/04-Collections/04-All-Others.md#Outdated)
+ - [Heap (outdated)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/04-Collections/04-All-Others.md#Heap-outdated)
+ - [Priority Queue (outdated)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/04-Collections/04-All-Others.md#Priority-Queue-outdated)
+ - [Rose or Multi-Way Tree (outdated)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/04-Collections/04-All-Others.md#Rose-or-Multi-Way-Tree-outdated)
+ - [Trie (outdated)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/04-Collections/04-All-Others.md#Trie-outdated)
+ - [05 NonEmpty.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/04-Collections/05-NonEmpty.md)
+ - [05 Miscellaneous.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/05-Miscellaneous.md)
+ - [Codecs](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/05-Miscellaneous.md#Codecs)
+ - [Unit Types (Runtime only)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/05-Miscellaneous.md#Unit-Types-Runtime-only)
+ - [Options](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/05-Miscellaneous.md#Options)
+ - [Semver Versioning](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/05-Miscellaneous.md#Semver-Versioning)
+ - [Date/DateTime/Time/Integral](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/05-Miscellaneous.md#DateDateTimeTimeIntegral)
+ - [Date Time](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/05-Miscellaneous.md#Date-Time)
+ - [Media Types](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/05-Miscellaneous.md#Media-Types)
+ - [Syntax](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/05-Miscellaneous.md#Syntax)
+ - [HTTP method type](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/05-Miscellaneous.md#HTTP-method-type)
+ - [Text Encoder/Decoder](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Data-Types/05-Miscellaneous.md#Text-EncoderDecoder)
- Library Stacks
- - [0x Front End Library Comparisons.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Library-Stacks/0x-Front-End-Library-Comparisons.md)
- - [0x Full Stacks.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Library-Stacks/0x-Full-Stacks.md)
- - [0x Library Guides.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Library-Stacks/0x-Library-Guides.md)
+ - [0x Front End Library Comparisons.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Library-Stacks/0x-Front-End-Library-Comparisons.md)
+ - [0x Full Stacks.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Library-Stacks/0x-Full-Stacks.md)
+ - [0x Library Guides.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Library-Stacks/0x-Library-Guides.md)
- Performance Related
- - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Performance-Related/ReadMe.md)
+ - [ReadMe.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Performance-Related/ReadMe.md)
- Type Classes
- - [Readme.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Type-Classes/Readme.md)
- - [Why Are PureScript's Type Classes So Granular?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Type-Classes/Readme.md#Why-Are-PureScripts-Type-Classes-So-Granular)
- - [Automatically Deriving Instances](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Type-Classes/Readme.md#Automatically-Deriving-Instances)
- - [Relationships](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Type-Classes/Readme.md#Relationships)
- - [Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Type-Classes/Readme.md#Functions)
- - [Laws](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Type-Classes/Readme.md#Laws)
- - [Category Theory](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Type-Classes/Readme.md#Category-Theory)
- - [External Explanations.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Type-Classes/External-Explanations.md)
- - [Comonad](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Type-Classes/External-Explanations.md#Comonad)
- - [IndexedMonad (i.e. `IxMonad`)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Type-Classes/External-Explanations.md#IndexedMonad-ie-IxMonad)
- - [Functors.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Type-Classes/Functors.md)
- - [Group Like.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Type-Classes/Group-Like.md)
- - [Utility Functions.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Type-Classes/Utility-Functions.md)
+ - [Readme.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Type-Classes/Readme.md)
+ - [Why Are PureScript's Type Classes So Granular?](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Type-Classes/Readme.md#Why-Are-PureScripts-Type-Classes-So-Granular)
+ - [Automatically Deriving Instances](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Type-Classes/Readme.md#Automatically-Deriving-Instances)
+ - [Relationships](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Type-Classes/Readme.md#Relationships)
+ - [Functions](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Type-Classes/Readme.md#Functions)
+ - [Laws](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Type-Classes/Readme.md#Laws)
+ - [Category Theory](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Type-Classes/Readme.md#Category-Theory)
+ - [External Explanations.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Type-Classes/External-Explanations.md)
+ - [Comonad](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Type-Classes/External-Explanations.md#Comonad)
+ - [IndexedMonad (i.e. `IxMonad`)](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Type-Classes/External-Explanations.md#IndexedMonad-ie-IxMonad)
+ - [Functors.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Type-Classes/Functors.md)
+ - [Group Like.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Type-Classes/Group-Like.md)
+ - [Utility Functions.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Type-Classes/Utility-Functions.md)
- Type Level Programming
- - [Libraries and Example Projects.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Type-Level-Programming/Libraries-and-Example-Projects.md)
- - [Type-Level Types, Values, and Proxies](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Type-Level-Programming/Libraries-and-Example-Projects.md#Type-Level-Types-Values-and-Proxies)
- - [Type-Level Modules](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Type-Level-Programming/Libraries-and-Example-Projects.md#Type-Level-Modules)
- - [Real-World examples](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Type-Level-Programming/Libraries-and-Example-Projects.md#Real-World-examples)
- - [Ideas](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.0/41-Ecosystem/Type-Level-Programming/Libraries-and-Example-Projects.md#Ideas)
+ - [Libraries and Example Projects.md](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Type-Level-Programming/Libraries-and-Example-Projects.md)
+ - [Type-Level Types, Values, and Proxies](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Type-Level-Programming/Libraries-and-Example-Projects.md#Type-Level-Types-Values-and-Proxies)
+ - [Type-Level Modules](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Type-Level-Programming/Libraries-and-Example-Projects.md#Type-Level-Modules)
+ - [Real-World examples](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Type-Level-Programming/Libraries-and-Example-Projects.md#Real-World-examples)
+ - [Ideas](https://github.com/JordanMartinez/purescript-jordans-reference/blob/ps-0.13.x-v0.17.1/41-Ecosystem/Type-Level-Programming/Libraries-and-Example-Projects.md#Ideas)