diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,21 @@
 ## Changelog
 
+### 1.0.2
+
+Released 2019-01-05.
+
+- Fixed cross-compilation: placement of C import declarations
+  were fixed, thereby resolving issues with cross-compilation.
+  (Vanessa McHale and Faraz Maleknia)
+
+- Added .gitattributes file, fixing the wrong language
+  classification of the GitHub repository. (Vanessa McHale)
+
+- Improved `toHaskellFunction` documentation. The documentation
+  is now more specific on which Haskell exceptions are caught and
+  which will lead to crashes.
+
+
 ### 1.0.1
 
 - Exposed more functions from Lua's `lauxlib` library:
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,7 +1,7 @@
 Copyright (C) 1994-2018 Lua.org, PUC-Rio.
 Copyright (C) 2007-2012 Gracjan Polak
 Copyright (C) 2012-2015 Ömer Sinan Ağacan
-Copyright (C) 2016-2018 Albert Krewinkel
+Copyright (C) 2016-2019 Albert Krewinkel
 
 Permission is hereby granted, free of charge, to any person obtaining a
 copy of this software and associated documentation files (the
diff --git a/hslua.cabal b/hslua.cabal
--- a/hslua.cabal
+++ b/hslua.cabal
@@ -1,5 +1,5 @@
 name:                hslua
-version:             1.0.1
+version:             1.0.2
 synopsis:            Bindings to Lua, an embeddable scripting language
 description:         HsLua provides bindings, wrappers, types, and helper
                      functions to bridge Haskell and <https://www.lua.org/ Lua>.
@@ -18,7 +18,7 @@
 maintainer:          albert+hslua@zeitkraut.de
 copyright:           © 2007–2012 Gracjan Polak
                      © 2012–2016 Ömer Sinan Ağacan
-                     © 2016–2018 Albert Krewinkel
+                     © 2016–2019 Albert Krewinkel
 category:            Foreign
 build-type:          Simple
 extra-source-files:  cbits/lua-5.3.5/*.h
diff --git a/src/Foreign/Lua.hs b/src/Foreign/Lua.hs
--- a/src/Foreign/Lua.hs
+++ b/src/Foreign/Lua.hs
@@ -1,7 +1,7 @@
 {-
 Copyright © 2007-2012 Gracjan Polak
 Copyright © 2012-2016 Ömer Sinan Ağacan
-Copyright © 2017-2018 Albert Krewinkel
+Copyright © 2017-2019 Albert Krewinkel
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
@@ -25,7 +25,7 @@
 Module      : Foreign.Lua
 Copyright   : © 2007–2012 Gracjan Polak,
                 2012–2016 Ömer Sinan Ağacan,
-                2017-2018 Albert Krewinkel
+                2017-2019 Albert Krewinkel
 License     : MIT
 Maintainer  : Albert Krewinkel <tarleb+hslua@zeitkraut.de>
 Stability   : beta
diff --git a/src/Foreign/Lua/Core.hs b/src/Foreign/Lua/Core.hs
--- a/src/Foreign/Lua/Core.hs
+++ b/src/Foreign/Lua/Core.hs
@@ -2,7 +2,7 @@
 Module      : Foreign.Lua.Core
 Copyright   : © 2007–2012 Gracjan Polak,
                 2012–2016 Ömer Sinan Ağacan,
-                2017-2018 Albert Krewinkel
+                2017-2019 Albert Krewinkel
 License     : MIT
 Maintainer  : Albert Krewinkel <tarleb+hslua@zeitkraut.de>
 Stability   : beta
diff --git a/src/Foreign/Lua/Core/Auxiliary.hsc b/src/Foreign/Lua/Core/Auxiliary.hsc
--- a/src/Foreign/Lua/Core/Auxiliary.hsc
+++ b/src/Foreign/Lua/Core/Auxiliary.hsc
@@ -3,7 +3,7 @@
 Module      : Foreign.Lua.Core.Auxiliary
 Copyright   : © 2007–2012 Gracjan Polak,
                 2012–2016 Ömer Sinan Ağacan,
-                2017-2018 Albert Krewinkel
+                2017-2019 Albert Krewinkel
 License     : MIT
 Maintainer  : Albert Krewinkel <tarleb+hslua@zeitkraut.de>
 Stability   : beta
diff --git a/src/Foreign/Lua/Core/Constants.hsc b/src/Foreign/Lua/Core/Constants.hsc
--- a/src/Foreign/Lua/Core/Constants.hsc
+++ b/src/Foreign/Lua/Core/Constants.hsc
@@ -2,7 +2,7 @@
 Module      : Foreign.Lua.Core.Constants
 Copyright   : © 2007–2012 Gracjan Polak,
                 2012–2016 Ömer Sinan Ağacan,
-                2017-2018 Albert Krewinkel
+                2017-2019 Albert Krewinkel
 License     : MIT
 Maintainer  : Albert Krewinkel <tarleb+hslua@zeitkraut.de>
 Stability   : beta
diff --git a/src/Foreign/Lua/Core/Error.hs b/src/Foreign/Lua/Core/Error.hs
--- a/src/Foreign/Lua/Core/Error.hs
+++ b/src/Foreign/Lua/Core/Error.hs
@@ -3,7 +3,7 @@
 {-# OPTIONS_GHC -fno-warn-orphans       #-}
 {-|
 Module      : Foreign.Lua.Core.Error
-Copyright   : © 2017-2018 Albert Krewinkel
+Copyright   : © 2017-2019 Albert Krewinkel
 License     : MIT
 Maintainer  : Albert Krewinkel <tarleb+hslua@zeitkraut.de>
 Stability   : beta
diff --git a/src/Foreign/Lua/Core/Functions.hs b/src/Foreign/Lua/Core/Functions.hs
--- a/src/Foreign/Lua/Core/Functions.hs
+++ b/src/Foreign/Lua/Core/Functions.hs
@@ -2,7 +2,7 @@
 Module      : Foreign.Lua.Core.Functions
 Copyright   : © 2007–2012 Gracjan Polak,
                 2012–2016 Ömer Sinan Ağacan,
-                2017-2018 Albert Krewinkel
+                2017-2019 Albert Krewinkel
 License     : MIT
 Maintainer  : Albert Krewinkel <tarleb+hslua@zeitkraut.de>
 Stability   : beta
diff --git a/src/Foreign/Lua/Core/RawBindings.hsc b/src/Foreign/Lua/Core/RawBindings.hsc
--- a/src/Foreign/Lua/Core/RawBindings.hsc
+++ b/src/Foreign/Lua/Core/RawBindings.hsc
@@ -3,7 +3,7 @@
 Module      : Foreign.Lua.Core.RawBindings
 Copyright   : © 2007–2012 Gracjan Polak,
                 2012–2016 Ömer Sinan Ağacan,
-                2017-2018 Albert Krewinkel
+                2017-2019 Albert Krewinkel
 License     : MIT
 Maintainer  : Albert Krewinkel <tarleb+hslua@zeitkraut.de>
 Stability   : beta
diff --git a/src/Foreign/Lua/Core/Types.hsc b/src/Foreign/Lua/Core/Types.hsc
--- a/src/Foreign/Lua/Core/Types.hsc
+++ b/src/Foreign/Lua/Core/Types.hsc
@@ -4,7 +4,7 @@
 Module      : Foreign.Lua.Core.Types
 Copyright   : © 2007–2012 Gracjan Polak,
                 2012–2016 Ömer Sinan Ağacan,
-                2017-2018 Albert Krewinkel
+                2017-2019 Albert Krewinkel
 License     : MIT
 Maintainer  : Albert Krewinkel <tarleb+hslua@zeitkraut.de>
 Stability   : beta
@@ -52,6 +52,10 @@
   , toReference
   ) where
 
+#include "lua.h"
+-- required only for LUA_ERRFILE
+#include "lauxlib.h"
+
 import Prelude hiding (Integer, EQ, LT)
 
 import Control.Monad.Catch (MonadCatch, MonadMask, MonadThrow)
@@ -61,10 +65,6 @@
 import Foreign.Ptr (FunPtr, Ptr)
 import Foreign.Storable (Storable)
 import GHC.Generics (Generic)
-
-#include "lua.h"
--- required only for LUA_ERRFILE
-#include "lauxlib.h"
 
 -- | A Lua computation. This is the base type used to run Lua programs of any
 -- kind. The Lua state is handled automatically, but can be retrieved via
diff --git a/src/Foreign/Lua/FunctionCalling.hsc b/src/Foreign/Lua/FunctionCalling.hsc
--- a/src/Foreign/Lua/FunctionCalling.hsc
+++ b/src/Foreign/Lua/FunctionCalling.hsc
@@ -6,7 +6,7 @@
 Module      : Foreign.Lua.FunctionCalling
 Copyright   : © 2007–2012 Gracjan Polak,
                 2012–2016 Ömer Sinan Ağacan,
-                2017-2018 Albert Krewinkel
+                2017-2019 Albert Krewinkel
 License     : MIT
 Maintainer  : Albert Krewinkel <tarleb+hslua@zeitkraut.de>
 Stability   : beta
@@ -73,8 +73,19 @@
 --   * return type is @Lua a@, where @a@ is an instance of
 --     @'Pushable'@
 --
--- Any Haskell exception will be converted to a string and returned
+-- Any @'Lua.Exception'@ will be converted to a string and returned
 -- as Lua error.
+--
+-- /Important/: this does __not__ catch exceptions other than
+-- @'Lua.Exception'@; exception handling must be done by the converted
+-- Haskell function. Failure to do so will cause the program to crash.
+--
+-- E.g., the following code could be used to handle an Exception of type
+-- FooException, if that type is an instance of @'MonadCatch'@ and
+-- @'Pushable'@:
+--
+-- > toHaskellFunction (myFun `catchM` (\e -> raiseError (e :: FooException)))
+--
 toHaskellFunction :: ToHaskellFunction a => a -> HaskellFunction
 toHaskellFunction a = toHsFun 1 a `catchException` \(Lua.Exception msg) ->
   raiseError ("Error during function call: " <> msg)
diff --git a/src/Foreign/Lua/Types.hs b/src/Foreign/Lua/Types.hs
--- a/src/Foreign/Lua/Types.hs
+++ b/src/Foreign/Lua/Types.hs
@@ -1,6 +1,6 @@
 {-|
 Module      : Foreign.Lua.Types
-Copyright   : © 2017-2018 Albert Krewinkel
+Copyright   : © 2017-2019 Albert Krewinkel
 License     : MIT
 Maintainer  : Albert Krewinkel <tarleb+hslua@zeitkraut.de>
 Stability   : beta
diff --git a/src/Foreign/Lua/Types/Peekable.hs b/src/Foreign/Lua/Types/Peekable.hs
--- a/src/Foreign/Lua/Types/Peekable.hs
+++ b/src/Foreign/Lua/Types/Peekable.hs
@@ -6,7 +6,7 @@
 Module      : Foreign.Lua.Types.Peekable
 Copyright   : © 2007–2012 Gracjan Polak,
                 2012–2016 Ömer Sinan Ağacan,
-                2017-2018 Albert Krewinkel
+                2017-2019 Albert Krewinkel
 License     : MIT
 Maintainer  : Albert Krewinkel <tarleb+hslua@zeitkraut.de>
 Stability   : beta
diff --git a/src/Foreign/Lua/Types/Pushable.hs b/src/Foreign/Lua/Types/Pushable.hs
--- a/src/Foreign/Lua/Types/Pushable.hs
+++ b/src/Foreign/Lua/Types/Pushable.hs
@@ -5,7 +5,7 @@
 Module      : Foreign.Lua.Types.Pushable
 Copyright   : © 2007–2012 Gracjan Polak,
                 2012–2016 Ömer Sinan Ağacan,
-                2017-2018 Albert Krewinkel
+                2017-2019 Albert Krewinkel
 License     : MIT
 Maintainer  : Albert Krewinkel <tarleb+hslua@zeitkraut.de>
 Stability   : beta
diff --git a/src/Foreign/Lua/Userdata.hs b/src/Foreign/Lua/Userdata.hs
--- a/src/Foreign/Lua/Userdata.hs
+++ b/src/Foreign/Lua/Userdata.hs
@@ -3,7 +3,7 @@
 Module      : Foreign.Lua.Userdata
 Copyright   : © 2007–2012 Gracjan Polak,
                 2012–2016 Ömer Sinan Ağacan,
-                2017-2018 Albert Krewinkel
+                2017-2019 Albert Krewinkel
 License     : MIT
 Maintainer  : Albert Krewinkel <tarleb+hslua@zeitkraut.de>
 Stability   : beta
diff --git a/src/Foreign/Lua/Utf8.hs b/src/Foreign/Lua/Utf8.hs
--- a/src/Foreign/Lua/Utf8.hs
+++ b/src/Foreign/Lua/Utf8.hs
@@ -1,6 +1,6 @@
 {-|
 Module      : Foreign.Lua.Utf8
-Copyright   : © 2018 Albert Krewinkel
+Copyright   : © 2018-2019 Albert Krewinkel
 License     : MIT
 Maintainer  : Albert Krewinkel <tarleb+hslua@zeitkraut.de>
 Stability   : beta
diff --git a/src/Foreign/Lua/Util.hs b/src/Foreign/Lua/Util.hs
--- a/src/Foreign/Lua/Util.hs
+++ b/src/Foreign/Lua/Util.hs
@@ -2,7 +2,7 @@
 Module      : Foreign.Lua.Util
 Copyright   : © 2007–2012 Gracjan Polak,
                 2012–2016 Ömer Sinan Ağacan,
-                2017-2018 Albert Krewinkel
+                2017-2019 Albert Krewinkel
 License     : MIT
 Maintainer  : Albert Krewinkel <tarleb+hslua@zeitkraut.de>
 Stability   : beta
diff --git a/test/Foreign/Lua/CoreTests.hs b/test/Foreign/Lua/CoreTests.hs
--- a/test/Foreign/Lua/CoreTests.hs
+++ b/test/Foreign/Lua/CoreTests.hs
@@ -1,5 +1,5 @@
 {-
-Copyright © 2017-2018 Albert Krewinkel
+Copyright © 2017-2019 Albert Krewinkel
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
@@ -23,7 +23,7 @@
 {-# OPTIONS_GHC -fno-warn-deprecations #-}
 {-|
 Module      :  Foreign.Lua.CoreTests
-Copyright   :  © 2017-2018 Albert Krewinkel
+Copyright   :  © 2017-2019 Albert Krewinkel
 License     :  MIT
 
 Maintainer  :  Albert Krewinkel <tarleb+hslua@zeitkraut.de>
diff --git a/test/Foreign/Lua/FunctionCallingTests.hs b/test/Foreign/Lua/FunctionCallingTests.hs
--- a/test/Foreign/Lua/FunctionCallingTests.hs
+++ b/test/Foreign/Lua/FunctionCallingTests.hs
@@ -1,5 +1,5 @@
 {-
-Copyright © 2017-2018 Albert Krewinkel
+Copyright © 2017-2019 Albert Krewinkel
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
diff --git a/test/Foreign/Lua/Types/PeekableTests.hs b/test/Foreign/Lua/Types/PeekableTests.hs
--- a/test/Foreign/Lua/Types/PeekableTests.hs
+++ b/test/Foreign/Lua/Types/PeekableTests.hs
@@ -1,5 +1,5 @@
 {-
-Copyright © 2017-2018 Albert Krewinkel
+Copyright © 2017-2019 Albert Krewinkel
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
@@ -22,7 +22,7 @@
 {-# LANGUAGE OverloadedStrings #-}
 {-|
 Module      :  Foreign.Lua.Types.PeekableTests
-Copyright   :  © 2017-2018 Albert Krewinkel
+Copyright   :  © 2017-2019 Albert Krewinkel
 License     :  MIT
 
 Maintainer  :  Albert Krewinkel <tarleb+hslua@zeitkraut.de>
diff --git a/test/Foreign/Lua/Types/PushableTests.hs b/test/Foreign/Lua/Types/PushableTests.hs
--- a/test/Foreign/Lua/Types/PushableTests.hs
+++ b/test/Foreign/Lua/Types/PushableTests.hs
@@ -1,5 +1,5 @@
 {-
-Copyright © 2017-2018 Albert Krewinkel
+Copyright © 2017-2019 Albert Krewinkel
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
@@ -22,7 +22,7 @@
 {-# LANGUAGE OverloadedStrings #-}
 {-|
 Module      :  Foreign.Lua.Types.PushableTests
-Copyright   :  © 2017-2018 Albert Krewinkel
+Copyright   :  © 2017-2019 Albert Krewinkel
 License     :  MIT
 
 Maintainer  :  Albert Krewinkel <tarleb+hslua@zeitkraut.de>
diff --git a/test/Foreign/Lua/TypesTests.hs b/test/Foreign/Lua/TypesTests.hs
--- a/test/Foreign/Lua/TypesTests.hs
+++ b/test/Foreign/Lua/TypesTests.hs
@@ -1,5 +1,5 @@
 {-
-Copyright © 2017-2018 Albert Krewinkel
+Copyright © 2017-2019 Albert Krewinkel
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
diff --git a/test/Foreign/Lua/UserdataTests.hs b/test/Foreign/Lua/UserdataTests.hs
--- a/test/Foreign/Lua/UserdataTests.hs
+++ b/test/Foreign/Lua/UserdataTests.hs
@@ -1,5 +1,5 @@
 {-
-Copyright © 2018 Albert Krewinkel
+Copyright © 2018-2019 Albert Krewinkel
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
diff --git a/test/Foreign/Lua/UtilTests.hs b/test/Foreign/Lua/UtilTests.hs
--- a/test/Foreign/Lua/UtilTests.hs
+++ b/test/Foreign/Lua/UtilTests.hs
@@ -1,5 +1,5 @@
 {-
-Copyright © 2018 Albert Krewinkel
+Copyright © 2018-2019 Albert Krewinkel
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
diff --git a/test/Foreign/LuaTests.hs b/test/Foreign/LuaTests.hs
--- a/test/Foreign/LuaTests.hs
+++ b/test/Foreign/LuaTests.hs
@@ -1,5 +1,5 @@
 {-
-Copyright © 2017-2018 Albert Krewinkel
+Copyright © 2017-2019 Albert Krewinkel
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
diff --git a/test/Test/HsLua/Arbitrary.hs b/test/Test/HsLua/Arbitrary.hs
--- a/test/Test/HsLua/Arbitrary.hs
+++ b/test/Test/HsLua/Arbitrary.hs
@@ -1,5 +1,5 @@
 {-
-Copyright © 2017-2018 Albert Krewinkel
+Copyright © 2017-2019 Albert Krewinkel
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
diff --git a/test/Test/HsLua/Util.hs b/test/Test/HsLua/Util.hs
--- a/test/Test/HsLua/Util.hs
+++ b/test/Test/HsLua/Util.hs
@@ -1,5 +1,5 @@
 {-
-Copyright © 2017-2018 Albert Krewinkel
+Copyright © 2017-2019 Albert Krewinkel
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
diff --git a/test/test-hslua.hs b/test/test-hslua.hs
--- a/test/test-hslua.hs
+++ b/test/test-hslua.hs
@@ -1,5 +1,5 @@
 {-
-Copyright © 2017-2018 Albert Krewinkel
+Copyright © 2017-2019 Albert Krewinkel
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
